2014-09-22 58 views
-1

在地圖API中丟失...Google地圖API console.log(stateClicked)

我需要能夠與美國現有的Google地圖進行互動。當一個狀態被點擊時,我想將它的狀態名稱傳遞給一個函數,該函數根據實際點擊的狀態執行一些動態的東西(顯示或隱藏屬於該點擊區域的屬性)。我讀了幾個相關的帖子,然後搜尋了其他地方,然而我卻空手而歸。希望有人能幫助!對不起,我沒有任何代碼可以關閉這個...

+1

您的意思是這樣的? http://www.geocodezip.com/v3_GoogleEx_layer-kml_us_states_simple.html – geocodezip 2014-09-22 18:49:43

+0

是的,就像那樣,謝謝! – NicholasAbrams 2014-09-22 19:08:54

+0

我是否需要使用KML才能獲取所點擊的州的名稱?我可以只用JS來拉取點擊區域的名稱嗎? – NicholasAbrams 2014-09-22 19:16:29

回答

2

有2個選項可以解決您的問題。

  1. 使用KML。 爲此,請爲美國各州申請KML。我猜你已經看過了。

  2. 使用鼠標事件,並得到緯度和經度

我希望下面的代碼可以幫助你:

var geocoder; 
geocoder = new google.maps.Geocoder(); 

google.maps.event.addListener(map,'click', function(evt) { 
    var lat = evt.latLng.lat(); 
    var lng = evt.latLng.lng(); 
    var latlng = new google.maps.LatLng(lat, lng); 
    geocoder.geocode({'latLng': latlng}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
    if (results[1]) { 
     console.log(results[1].formatted_address); //THIS IS YOUR RESULT!!!! 
    } else { 
     alert('No results found'); 
    } 
    } else { 
    alert('Geocoder failed due to: ' + status); 
    } 
    }); 

} 

你得到的實際響應是這樣的: https://developers.google.com/maps/documentation/geocoding/#GeocodingResponses 你可以從這裏找到所有必要的細節,例如你的情況。

如果您有任何疑問,請拍攝。 Regards, Suyash