Используя openlayers и google maps, курсор мыши и точка на карте не встроены
Я пытаюсь реализовать пример http://openlayers.org/dev/examples/drag-feature.html.
Когда я реализую это с помощью карты Google, у меня возникает странная ошибка: указатель мыши и точка на карте не находятся в одном месте.
Теперь, если я изменю строку, выделенную жирным шрифтом: map.addLayers([gmap,vectors]); to map.addLayers([wms, векторы]); все работает. (другими словами, я не использую карты Google).
Может кто-нибудь сказать мне, что происходит?
Заранее спасибо.
Вот моя страница и код:
var map;
var vectors;
function initialize() {
// Create the map object
map = new OpenLayers.Map('map');
//Create a Google layer
var gmap = new OpenLayers.Layer.Google(
"Google Streets", // the default
{numZoomLevels: 20}
);
// if i use this instead of gmap then everything works.
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://vmap0.tiles.osgeo.org/wms/vmap0?", {layers: 'basic'});
var renderer=OpenLayers.Util.getParameters(window.location.href).renderer;
renderer=(renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers;
vectors= new OpenLayers.Layer.Vector("Vector Layer",{
renderers:renderer
});
map.addLayers([gmap,vectors]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addControl(new OpenLayers.Control.MousePosition());
var control=new OpenLayers.Control.DrawFeature(vectors,OpenLayers.Handler.Path);
map.addControl(control);
control.activate();
// Zoom to Vancouver, BC
map.setCenter(new OpenLayers.LonLat(-123.12, 49.28), 13);
}
1 ответ
Решение
Я не совсем уверен, что вы имеете в виду. У меня все отлично работает. Смотрите мой пример с вашим кодом.