Google地图中心或标记定位问题

时间:2009-11-26 10:31:18

标签: javascript google-maps

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

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

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

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

我相信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值。

答案 1 :(得分:0)

检查此代码:

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

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

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

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