我开发了一个简单的Google地图应用程序。我只需要在地图上放置一个标记。无论出于何种原因,标记都放置在地图的可见区域之外。这有点奇怪,因为地图以标记的坐标为中心。这是代码:

var point1 = new GLatLng(location1.lat,location1.lon);              
    map1.setCenter(point1, 15);
var marker1 = new GMarker(point1);
map1.addOverlay(marker1);
map1.setCenter(point1);

当我们拖动地图时,我们可以看到标记。我需要的是使地图居中,使标记在没有地图拖动的情况下可见。

任何人都可以帮助我吗?

有帮助吗?

解决方案

我相信GLatLng对象也会接受String参数 - 但为了安全起见我会确保它们是整数 - 尝试使用:

new GLatLng(parseInt(location.lat), parseInt(location.lon));

我也注意到你第二次调用map.setCenter,这是不必要的。

使用以下代码确实应该这样做

  map=new GMap(document.getElementById("map"));
  var point = new GLatLng(parseInt(location.lat), parseInt(location.lon));
  map.setCenter(point,5);
  var marker = new GMarker(point);
  map.addOverlay(marker);

如果您仍有问题,我会检查“位置”。确保.lat和.lon值正确填充的对象。

其他提示

检查此代码:

var map = new GMap(document.getElementById("map"));
/* -- snip -- */
map.centerAndZoom(new GPoint(-1.2736, 53.0705), 8);

来自我前一段时间的网站。随意查看来源:

http://www.primrose-house.co.uk/localattractions

只需点击右上角的链接即可切换到地图视图。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top