2013-02-08 13 views
5

Jako, że czerwony z pliku readme, openlayers.js ma wiele opcji do włączania plików i motywów.OpenLayers.js jakich plików użyć?

Co chciałbym użyć plików lightest solution of openlayers.js.

I obejmował openlayers.light.js w mojej aplikacji, a to tworzy mapy, ale ich nie pokazują, to sprawdzić:

enter image description here

zrobić zapomniałem to jakiś inny plik?

moja struktura struktura jest następująca:

/vendor 
    /js 
    openlayers.light.js 
    /img 
    /theme 

jak pokazują mapy warstwy?

Czy urządzenie openlayers.light.js będzie działać na urządzeniach mobilnych (po rozwiązaniu tego problemu: P)? czy muszę też dodać openlayers.mobile.js?

Jest to kod nie działa z openlayers.light.js ale praca z openlayers.js (740kb):

var _element = "#map"; 
var map = new OpenLayers.Map (_element, { 
    controls: [ 
    new OpenLayers.Control.Navigation({ 
     dragPanOptions: { 
     enableKinetic: true 
     } 
    }), 
    new OpenLayers.Control.Zoom() 
    ], 
    projection: new OpenLayers.Projection("EPSG:900913"), 
    displayProjection: new OpenLayers.Projection("EPSG:4326") 
    }); 

    var lonLat = new OpenLayers.LonLat(_lon, _lat).transform (
new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984 
new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator Projection 
// map.getProjectionObject() doesn't work for unknown reason 
); 
    var markers = new OpenLayers.Layer.Markers("Markers"); 
    map.addLayer(markers); 

    var size = new OpenLayers.Size(21,25); 
    var offset = new OpenLayers.Pixel(-(size.w/2), -size.h); 
    var icon = new OpenLayers.Icon(_img_map_marker, size, offset); 
    markers.addMarker(new OpenLayers.Marker(lonLat, icon.clone())); 

    var mapnik = new OpenLayers.Layer.OSM("Test"); 
    map.addLayer(mapnik); 

    map.setCenter (lonLat,3); 

PS: My OpenLayers MAP js metoda init jest OK, to działa przy użyciu ogromne openlayers.js (740KB), ale nie działa z openlayers.light.js jak pokazałem powyżej

html

<div id="map"></div> 

css

img{max-width:none;} 
#map{ 
width:300px; 
height:300px; 
} 

Odpowiedz

3

jeśli chcesz użyć właściwości mobilne z OpenLayers jak przesuwanie lub powiększanie ręką trzeba użyć openlayers.mobile.js.

możesz używać openlayers.light.js na urządzeniach mobilnych, ale nie na urządzeniach mobilnych.

myślę, że struktura ta powinna być:

myProject 
    /js 
     openlayers.light.js 
    /img 
    /theme 

i próbowałem openlayers.light.js w http://jsfiddle.net/aragon/ZecJj/ i nie ma problemu z nim.

Mój kod:

var map = new OpenLayers.Map({ 
    div: "map", 
    minResolution: "auto", 
    maxResolution: "auto", 
}); 

var osm = new OpenLayers.Layer.OSM(); 
var toMercator = OpenLayers.Projection.transforms['EPSG:4326']['EPSG:3857']; 
var center = toMercator({x:-0.05,y:51.5}); 
map.addLayers([osm]); 


map.setCenter(new OpenLayers.LonLat(center.x,center.y), 13); 

i spróbować odczytać Deploying (Shipping OpenLayers in your Application).

OpenLayers pochodzi ze wstępnie skonfigurowanymi przykładów wyjęciu z pudełka: wystarczy pobrać wydanie OpenLayers, a otrzymasz pełny zestaw łatwo przykładów zastosowania. Jednak te przykłady są zaprojektowane do użycia przy tworzeniu wersji . Kiedy jesteś gotowy do wdrożenia aplikacji, potrzebujesz zoptymalizowanej dystrybucji OpenLayers , aby ograniczyć przepustowość i czas ładowania.

można zmienić plik src za pomocą tego linku i można zobaczyć, że nadal działa.

<script type="text/javascript" src="http://openlayers.org/dev/OpenLayers.light.debug.js"></script> 

do

<script type="text/javascript" src="https://view.softwareborsen.dk/Softwareborsen/Vis%20Stedet/trunk/lib/OpenLayers/2.12/OpenLayers.light.js?content-type=text%2Fplain"></script> 

mam nadzieję, że to pomaga ...

+0

sprawdzić moje pytanie pls i aktualizowane z mojego kodu, także nie mogę zmienić js strukturę plików, to standard ja wszyscy w środku/sprzedawca nie na głównym root – sbaaaang

+0

również próbowałem z twoim źródłem openlayera nadal nie działa – sbaaaang

+0

Mam zaktualizowane [moje skrzypce] (http://jsfiddle.net/aragon/ZecJj/) z twoimi kodami tylko jeden problem to to, że 'dragPanOptions'. Myślę, że OpenLayers.light.js nie jest tak szczegółowy dla specjalnych funkcji. – Aragon

Powiązane problemy