2016-08-01 323 views
-1

我不知道但我想显示自定义标记,但它不显示。标记谷歌地图

需要帮助。

非常感谢。

这是我的.js:

var locations = [ 
     ['Homexpo', 44.89589669999999, -0.5713743999999679, 3], 
     ['Biganos', 44.640044, -0.9629101000000446, 2], 
     ['Siege social', 44.8864352, -0.6952949999999873, 1] 
    ]; 

    var map = new google.maps.Map(document.getElementById('ggmap-offre'), { 
     zoom: 9, 
     center: new google.maps.LatLng(44.89589669999999, -0.5713743999999679), 
     scrollwheel: false, 
     draggable: false, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 

    for (var i = 0; i < locations.length; i++) { 
     var marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
     map: map 
     }); 
    } 

    var marker = { 
     url: "http://www.verywell-web.com/sanem/img/pin-ggmap.png", 
     size: new google.maps.Size(31, 40), 
     anchor: new google.maps.Point(31, 20) 
    }; 
    var optionsMarqueur = { 
     position: centreCarte, 
     map: maCarte, 
     icon: marker 
    } 
    var marqueur = new google.maps.Marker(optionsMarqueur); 
+0

你好,这

添加功能,可以提供有关代码的更多信息,以及什么错误在控制台中显示? –

+0

首先,可能会在控制台中显示一些错误? – mamosek

+0

这是链接:http://www.pier17.fr/maison-sanem/contactez-nous/ – Pierre

回答

2

你可以尝试做一个名为AddMarker

function addMarker(marker){ 
    var markerImage = { 
     url: "http://www.verywell-web.com/sanem/img/pin-ggmap.png", 
     size: new google.maps.Size(31, 40), 
     anchor: new google.maps.Point(31, 20) 
    }; 

    var marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(marker[1], marker[2]), 
     icon: markerImage, 
     map: map 
    }); 
} 

然后

var map = new google.maps.Map(document.getElementById('ggmap-offre'), { 
    zoom: 9, 
    center: new google.maps.LatLng(44.89589669999999, -0.5713743999999679), 
    scrollwheel: false, 
    draggable: false, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}); 

var locations = [ 
     ['Homexpo', 44.89589669999999, -0.5713743999999679, 3], 
     ['Biganos', 44.640044, -0.9629101000000446, 2], 
     ['Siege social', 44.8864352, -0.6952949999999873, 1] 
    ]; 

for(var i = 0, locations; loc = locations[i];i++){ 
      addMarker(loc); 
} 
+0

这很好。非常感谢。 其他问题,我想掩盖第一次查看所有标记,当我点击adresse(在网站的左侧),我想显示标记。 你有解决这个问题吗? – Pierre

+0

您必须在点击该地址元素上添加事件侦听器,然后运行AddMarker方法。您可以在数据属性中保存lat和lng元素(例如data-lng,data-lat)。您还应该制作一些逻辑来将地图居中放置到添加的标记上。 – mamosek

+0

你有解释我的典型代码吗?我真的很抱歉打扰你...但我真的真的迷失在js和Google Maps API .. :( – Pierre

0

您应该分配for循环里面的图标样式。

试试这个。

var image = { 
    url: 'http://www.verywell-web.com/sanem/img/pin-ggmap.png', 
    size: new google.maps.Size(31, 40), 
    anchor: new google.maps.Point(31, 20) 
} 

for (var i = 0; i < locations.length; i++) { 
    var marker = new google.maps.Marker({ 
    position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
    map: map, 
    icon: image 
    }); 
}