2017-04-26 27 views
-1

因此,我在一個位置正常工作。但是,我需要用戶能夠在兩個辦公地點之一中進行選擇,然後根據用戶選擇的位置生成Google地圖。該映射通過函數「initMap」進行初始化,該函數接收信息窗口的內容信息;以及辦公室位置的經緯度。基於Javascript中的用戶選擇創建Google地圖

正如我所說,我以前的工作,但現在我得到錯誤,主要圍繞使用對象latLng,抱怨'。初始化標記時使用。

markers[0] = new google.maps.Marker({ 
       position: {latLng.lat, latLng.lng}, 
       map: map, 
       animation: google.maps.Animation.DROP 
       }); 

我當我這個移動到用戶選擇的地圖由主要變化,來自組數字改變的經緯度到在所述onAddressChange函數確定的變量。

function onAddressChange(city) { 
      if(city === 'Cockeysville'){ 
       contentInfo = "<div id='infoAddress'>Cockeysville, MD</div>"; 
       latLng = { 
        lat: 39.490837, 
        lng: -77.438154 
       }; 
       initMap(contentInfo, latLng); 
      } else { 
       contentInfo = "<div id='infoAddress'>>Richmond, VA</div>"; 
       latLng = { 
        lat: 37.543268, 
        lng: -77.581338 
       }; 
       initMap(contentInfo, latLng); 
      } 
     } 

我還在學習了不少關於JavaScript和谷歌地圖API,以便讓我知道我做錯了,請!檢查我的小提琴,here

回答

1

您的位置對象需要有 '緯度' 和 'LNG' 的屬性,就像這樣:

markers[0] = new google.maps.Marker({ 
    position: { 
     lat: latLng.lat, 
     lng: latLng.lng 
    }, 
    map: map, 
    animation: google.maps.Animation.DROP 
}); 

...雖然,你可以直接使用你的latLng對象,像這樣:

markers[0] = new google.maps.Marker({ 
    position: latLng, 
    map: map, 
    animation: google.maps.Animation.DROP 
});