根据Javascript

时间:2017-04-26 18:20:27

标签: javascript google-maps google-maps-api-3

所以我在一个地方工作得很好。但是,我需要用户能够在两个办公地点之一中进行选择,然后根据用户选择的位置生成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

1 个答案:

答案 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
});