1

我有个问题。我不能把每个标记都放在信息窗口上,描述也不能

例子:

var marker = new google.maps.Marker({
  position: myLatlng,
  map: map,
  title: 'Uluru (Ayers Rock)'

https://developers.google.com/maps/documentation/javascript/examples/infowindow-simple

var map

function initialize() {

    var centerLatlng = new google.maps.LatLng(38.697476,-9.207047);
    var myOptions = {
        zoom: 12, 
        center: centerLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }   

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    var placescoordjs = {{=XML(response.json(placescoord))}}
    var marker, i;
    for (i = 0; i < placescoordjs.length; i++) {
        marker = new google.maps.Marker({ 
            position: new google.maps.LatLng(placescoordjs[i][0],placescoordjs[i][1]),
            map: map
        }); 
    }   
}   

function mymarker() {

    var myLatlng = new google.maps.LatLng({{=coordenadas[0]}},{{=coordenadas[1]}});

    var myOptions = {
        zoom: 10, 
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }   

    var marker = new google.maps.Marker({
        position: myLatlng,
        map: map, 
        title:"My Marker!!"
    }); 
    map.setCenter(myLatlng);
    marker.setMap(map);
}

var infowindow = new google.maps.InfoWindow({
    content: "<html>https://pt.wikipedia.org/wiki/Lisboa</html>"
});

google.maps.event.addListener(marker, 'click', function() {
    infowindow.open(map,marker);
}); 

我有这个代码。我有一个数据库,可以在地图中“放置”标记,但是我如何为每个标记添加描述和信息窗口?

4

1 回答 1

0

您必须创建 infoWindow,并使用 google.maps.event.addListener 将其绑定到标记...

这一切都在您发布的文档中:

var infowindow = new google.maps.InfoWindow({
    content: "<html>your html</html>"
});

google.maps.event.addListener(marker, 'click', function() {
    infowindow.open(map,marker);
}); 

尝试将您的初始化方法更新为如下内容:

function initialize() {

    var centerLatlng = new google.maps.LatLng(38.697476,-9.207047);
    var myOptions = {
        zoom: 12, 
        center: centerLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }   

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    var placescoordjs = {{=XML(response.json(placescoord))}}
    var marker, i;
    for (i = 0; i < placescoordjs.length; i++) {
        marker = new google.maps.Marker({ 
            position: new google.maps.LatLng(placescoordjs[i][0],placescoordjs[i][1]),
            map: map
        }); 

        /* Creates the infowindow */
        infowindow = new google.maps.InfoWindow({
            content: "<html>your html</html>"
        });

        /* Bind the infowindow to the marker */
        google.maps.event.addListener(marker, 'click', function() {
            infowindow.open(map,marker);
        }); 
    }   
}   
于 2013-06-17T15:22:25.297 回答