Google Maps V3 Marker未显示

时间:2014-10-09 12:49:28

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

我正在编写以下脚本以在点击时添加标记,地图加载正常但是当我点击它时没有添加任何标记并且控制台中没有错误,任何人都有任何关于可能的建议继续?

function selectMapLocation()
{
    var mapOptions = {
        zoom: 8,
        center: new google.maps.LatLng(37.7699298, -122.4469157)
    };

    var map = new google.maps.Map(document.getElementById('map'), mapOptions);

    google.maps.event.addListener(map, 'click', function(event){
        var marker = new google.maps.Marker({
            position: event.LatLng, 
            map: map
        });
    });
}

function loadSelectMapLocation()
{
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&callback=selectMapLocation';
    document.body.appendChild(script);
}

2 个答案:

答案 0 :(得分:1)

google.maps.MarkerOptions object没有setMap属性。

地图|地图| StreetViewPanorama |要显示标记的地图。

MouseClick event没有LatLng属性。它是latLng(javascript区分大小写)。

latLng | LatLng |事件发生时光标下方的纬度/经度。

function selectMapLocation()
{
    var mapOptions = {
        zoom: 8,
        center: new google.maps.LatLng(37.7699298, -122.4469157)
    };

    var map = new google.maps.Map(document.getElementById('map'), mapOptions);

    google.maps.event.addListener(map, 'click', function(event){
        var marker = new google.maps.Marker({
            position: event.latLng, 
            map: map
        });
    });
}

function loadSelectMapLocation()
{
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&callback=selectMapLocation';
    document.body.appendChild(script);
}
loadSelectMapLocation();
<div id="map" style="width:750px; height:450px; border: 2px solid #3872ac;"></div>

答案 1 :(得分:0)

您应该在对象构造上使用map属性而不是setMap

编辑LatLng也是latLng,如另一个回复中所述。

var marker = new google.maps.Marker({
    position: event.latLng, 
    map: map
});