2014-01-08 117 views
19

我有一個網站,通過谷歌地圖,街道和地方加載3個單獨的「視圖」的位置。google.maps.places is undefined

請參閱下面我的代碼:

我終於得到了地圖和街景能正常工作,但我掙扎了一下這一個。

我有一個標籤,顯示與地圖相同但添加了地點。

<script type="text/javascript" 
    src="http://maps.googleapis.com/maps/api/js?v=3&key=....&sensor=false&callback=initializeMap"></script> 

<script type="text/javascript"> 
var myLattitude = <?php echo $data["lattitude"]; ?>; 
var myLongitude = <?php echo $data["longitude"]; ?>; 
var poiMap; 
var infowindow; 

function initializePoi() { 
      var poiCentre = new google.maps.LatLng(myLattitude, myLongitude); 

      poiMap = new google.maps.Map(document.getElementById('poi-canvas'), { 
       center: poiCentre, 
       zoom: 15 
      }); 

      var request = { 
       location: poiCentre, 
       radius: 500, 
       types: ['store'] 
      }; 
      infowindow = new google.maps.InfoWindow(); 
      var service = new google.maps.places.PlacesService(poiMap); 
      service.nearbySearch(request, callback); 
     } 

     function callback(results, status) { 
      if (status == google.maps.places.PlacesServiceStatus.OK) { 
       for (var i = 0; i < results.length; i++) { 
        createMarker(results[i]); 
       } 
      } 
     } 

     function createMarker(place) { 
      var placeLoc = place.geometry.location; 
      var marker = new google.maps.Marker({ 
       map: poiMap, 
       position: place.geometry.location 
      }); 

      google.maps.event.addListener(marker, 'click', function() { 
       infowindow.setContent(place.name); 
       infowindow.open(poiMap, this); 
      }); 
     } 

現在這個正確初始化但控制檯引發以下錯誤: 類型錯誤:google.maps.places未定義

我只是想知道爲什麼我得到這個錯誤,我喜歡乾淨無錯的代碼。

這些地方確實顯示正確和一切。

+0

如果你有你的答案,請檢查它作爲correc噸。 –

+0

你是怎麼做到的?新的論壇:) – crazyvonzipper

+0

在上/下箭頭的下方,每個答案的左邊都有一個複選標記。點擊它,將答案標記爲正確。這樣,你從其他成員節省時間:) –

回答

43

你應該在谷歌API URL

在你的情況下添加選項libraries=places就應該更換了以下內容:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?v=3&key=....&sensor=false&callback=initializeMap"></script> 

有了這個:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?v=3&key=....&sensor=false&callback=initializeMap&libraries=places"></script> 

看年底src=""

+0

嗨在那裏,我試過這個,但無濟於事。 – crazyvonzipper

+0

我現在得到的錯誤:k.google.maps.Load不是函數 – crazyvonzipper

+0

你可以把你的代碼放在http://jsfiddle.net/? –