我开发了一个简单的Google地图应用程序。我只需要在地图上放置一个标记。无论出于何种原因,标记都放置在地图的可见区域之外。这有点奇怪,因为地图以标记的坐标为中心。这是代码:
var point1 = new GLatLng(location1.lat,location1.lon);
map1.setCenter(point1, 15);
var marker1 = new GMarker(point1);
map1.addOverlay(marker1);
map1.setCenter(point1);
当我们拖动地图时,我们可以看到标记。我需要的是使地图居中,使标记在没有地图拖动的情况下可见。
任何人都可以帮助我吗?
答案 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
只需点击右上角的链接即可切换到地图视图。