2011-12-01 87 views
2

我有這樣的字符串從他們的一個例子,我試圖逆向工程。谷歌的地方API獲取位置的參考價值

<script type="text/javascript"> 
    function initialize() { 
    var map = new google.maps.Map(document.getElementById('map_canvas'), { 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     center: new google.maps.LatLng(36.018486,-86.787607), 
     zoom: 15 
    }); 
    var frontline = new google.maps.LatLng(36.018486,-86.787607); 

    var request = { 
     reference: 'CnRkAAAAGnBVNFDeQoOQHzgdOpOqJNV7K9-c5IQrWFUYD9TNhUmz5-aHhfqyKH0zmAcUlkqVCrpaKcV8ZjGQKzB6GXxtzUYcP-muHafGsmW-1CwjTPBCmK43AZpAwW0FRtQDQADj3H2bzwwHVIXlQAiccm7r4xIQmjt_Oqm2FejWpBxLWs3L_RoUbharABi5FMnKnzmRL2TGju6UA4k' 
    }; 

    var infowindow = new google.maps.InfoWindow(); 
    var service = new google.maps.places.PlacesService(map); 

    service.getDetails(request, function(place, status) { 
     if (status == google.maps.places.PlacesServiceStatus.OK) { 
     var marker = new google.maps.Marker({ 
      map: map, 
      position: place.geometry.location 
     }); 
     google.maps.event.addListener(marker, 'click', function() { 
      infowindow.setContent(place.name); 
      infowindow.open(map, this); 
     }); 
     } 
    }); 
    } 

    google.maps.event.addDomListener(window, 'load', initialize); 
</script> 

我找不出如何找到我的位置的參考。

另外,我怎麼會得到多個值到

infowindow.setContent() 

回答

2

我發現如果您使用textSearch()方法,它提供了虛幻的引用字符串。我寫了一個客戶端腳本,它使用textSearch()方法爲getDetails()方法here提供參考字符串。

+0

不錯,工作的兄弟。 – eteich

0

VAR請求 是那裏制定其數據的位置。看起來相當加密。

+0

我知道。在api中沒有太多提及它,除了你需要的地方,但它是告訴什麼是實際的地方。 – eteich

1

長加密的字符串是地方引用,但它應該只用於返回並找到相同的地方。由於它可以稍微改變,因此不應該用於對評分,簽到或其他活動進行分組。

從Places API的文檔:

http://code.google.com/apis/maps/documentation/places/

「參考包含一個唯一的憑證,可用於檢索 這個地方在地方詳情請求的其他信息 您可以將這個令牌,並在將來隨時使用它來刷新有關此地點的緩存數據 ,但同樣的道理不能保證在任何給定地點針對不同搜索返回 。

要將多個值添加到infowindow中,只需添加要顯示的細節。像這樣:

infowindow.setContent(place.name + address + rating);

+0

因此,我現在設置了一個搜索業務並返回參考值。問題是我可以通過place.rating和place.name獲得像rating和name這樣的信息,但是即使我嘗試使用place.formatted_address或results [0] .formatted_address,也無法獲取formatted_address和geometry等內容。 – eteich

+0

你可以發佈一個鏈接到你的網頁,複製這個?我使用上面的參考,它工作正常 - formatted_address和幾何被填充。 –