2012-05-22 33 views
0

我的Google地圖需要支持「越野」地點。如何防止地圖標記捕捉到道路

我想知道如何防止我的地圖標記從捕捉到的道路。

地址被從輸入字段傳遞和LAT & LNG提取形式標記的位置。

function geoCodeLocation(address, lat, lng) { 
    geocoder.geocode( 
    { 
     "address" : address ? address : '', 
     "location" : new google.maps.LatLng(lat, lng) 
    }, 
    /* ... */ 

} 

回答

3

你所示的代碼是相當小的,所以我可能忽略了一點,但地理編碼通常做兩件事情之一:

  1. 你有經緯度,你所需要的地址
  2. 你有一個地址和所需要的經緯度

的GeocodingService要求要麼地址或位置,但不能同時

您的代碼看起來它總是希望有經緯度和地址可能存在。如果您使用LatLng調用Geocoder,它將返回一個地址。在這種情況下,有道理的是,將標記附着在道路上。

在另一方面,如果你有一個地址,你回來的經緯度將根據地址,所以它也是情理之中,它會附着在路上。

但是,如果你總是有經緯度,爲什麼不創建具有經緯度標記並跳過地理編碼調用(特別是因爲你不希望標記在道路上)?

如果我是沒譜,請你增加更多的細節,你的問題?

+0

肖恩的權利,你的代碼有點帶和吊帶品種。只要通過latlng,標記就會留在你想要的地方。 – dda