所以我在一个地方工作得很好。但是,我需要用户能够在两个办公地点之一中进行选择,然后根据用户选择的位置生成Google地图。地图通过函数“initMap”初始化,该函数接收信息窗口的内容信息;以及办公地点的经纬度。
正如我所说,我之前有过这个工作,但现在我遇到了错误,主要是使用对象latLng,抱怨'。'初始化标记时使用。
markers[0] = new google.maps.Marker({
position: {latLng.lat, latLng.lng},
map: map,
animation: google.maps.Animation.DROP
});
我将其移动到用户选择的地图时所做的主要更改是将latLng从set number更改为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和Google Map API,所以让我知道我做错了什么,拜托!检查我的小提琴,here。
答案 0 :(得分:1)
您的位置对象需要拥有&#39; lat&#39;和&#39; lng&#39;属性,如:
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
});