2017-05-07 121 views
2

我試圖根據the reference來顯示特定地點的標記:使用MarkerPlace與谷歌地圖JS API

var pos = new google.maps.LatLng(29.5528437, -95.0953803); 

var map = new google.maps.Map(document.getElementById('my-map'), { 
    zoom: 12, 
    center: pos 
}); 

var marker = new google.maps.Marker({ 
    map: map, 
    place: { 
    placeId: 'ChIJc29kHLCdQIYRpK0NUf9HKCE' 
    }, 
    title: 'NASA', 
    visible: true 
}); 

然而,出現此錯誤:

InvalidValueError: setPlace: in property location: not a LatLng or LatLngLiteral: not an Object 

我怎麼能顯示標記爲一個地方而不是位置?


編輯:我試着用

var marker = new google.maps.Marker({ 
    map: map, 
    place: new google.maps.MarkerPlace({ 
    placeId: 'ChIJc29kHLCdQIYRpK0NUf9HKCE' 
    }), 
    title: 'NASA', 
    visible: true 
}); 

,但現在我得到的錯誤

TypeError: google.maps.MarkerPlace is not a constructor 

我使用的版本,14年3月28日。

+1

你試過'地點:新google.maps.MarkerPlace({placeId: 'ChIJc29kHLCdQIYRpK0NUf9HKCE'})'? – abeyaz

+0

@abeyaz我相應地更新了我的問題。 –

回答

0

據我看到你正在使用實驗性功能,但你不包括正確的庫文件。像這樣加載文件,v=3.exp是這裏的重要部分。

<script async defer src="https://maps.googleapis.com/maps/api/js?v=3.exp&key=YOUR_API_KEY"> 
+0

仍然是同樣的問題,而'google.maps.MarkerPlace'仍然未定義。 –

+0

根據https://developers.google.com/maps/documentation/javascript/versions,它必須工作。但我也嘗試過,並沒有工作。我認爲谷歌方面存在一個缺陷。 – abeyaz