2012-10-30 37 views
1

我正在使用Google map 3 API。 我在Google地图上遇到问题,我想在整个地图中显示一个标记,如果我想根据此点的纬度经度来拟合边界,则开始显示即将到达最大值。有人可以为此提出任何最佳解决方案吗?Google Map api 3 zoom

+2

你能告诉我们一些代码你到底有什么吗? – j0nes

回答

0

你想只显示一个标记,那么为什么适合边界?这应该做 -

map.setCenter(marker.getPosition()); 

//you can set a zoom level like `map.setZoom(6);` 

更新:

虽然把你的标志物分析是否是一个或多个。我不认为这应该是艰难的。由于您没有提供任何代码,因此无法准确指出位置。如果要超过单

if(number of markers to be placed > 1) 
{ 
    bounds.extend(marker.getLocation()); 
    map.fitBounds(bounds); 
} 
else //markers to be placed is only one 
{ 
    map.setCenter(marker.getPosition()); 
} 

柜面两个标记之间的距离是非常少的,你DONOT要缩放地图的那么高, 一个简单的解决方案是使用maxZoom财产。只需在创建地图时设置此值。所以你永远不会超越这个缩放级别。

+0

感谢您的快速回复。我的问题是页面上的标记数量是动态的。所以当只有一个标记时,或者在一个非常小的距离内有多于一个标记时,显示会变得很糟糕。 – user1784914

+0

查看更新。 (var i = 0; i Cdeez

+0

经度=空; latitude = getElementValue(“latitude”+ i); longitude = getElementValue(“longitude”+ i); (某些条件)list [i] = new google.maps.LatLng(latitude,longitude); latlngbounds.extend(list [i]); marker [i] = new google.maps.Marker({0121]位置:list [i], icon:“https://maps.google.com/mapfiles/marker”+ markerTitleList [i] +“.png” , map:map }); marker [i] .setTitle(setAddressOnPlaceMarker(i)); } map.setCenter(latlngbounds.getCenter()); map.fitBounds(latlngbounds); } – user1784914