2012-10-30 163 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