Google maps 向谷歌地图标记添加动态内容

Google maps 向谷歌地图标记添加动态内容,google-maps,google-maps-markers,Google Maps,Google Maps Markers,我正在尝试创建一个带有自定义图标标记的谷歌地图。我需要能够添加动态文本到实际的标记。换句话说,是否仍然需要添加div?我需要将xml中的价格添加到实际标记中。。我希望这是有道理的。如果有人能为我指出正确的方向,我将非常感激任何帮助。谢谢 我的JQUERY: function addMarker() { for (var i = 0; i < markers.length; i++) { // obtain the attribues of each marker

我正在尝试创建一个带有自定义图标标记的谷歌地图。我需要能够添加动态文本到实际的标记。换句话说,是否仍然需要添加div?我需要将xml中的价格添加到实际标记中。。我希望这是有道理的。如果有人能为我指出正确的方向,我将非常感激任何帮助。谢谢

我的JQUERY:

function addMarker() {
    for (var i = 0; i < markers.length; i++) {
        // obtain the attribues of each marker
        var lat = parseFloat(markers[i][0]);
        var lng = parseFloat(markers[i][1]);
        var trailhead_name = markers[i][2];

        var myLatlng = new google.maps.LatLng(lat, lng);

        var contentString = "<html><body><div class='mapPopup'><div class='mapPopIn'>" + trailhead_name + "</div></div></body></html>";
        var image = 'images/map-marker.png';
        var marker = new google.maps.Marker({
            position: myLatlng,
            map: map,
            title: "Click for more information",
            icon: image
        });
函数addMarker(){
对于(var i=0;i
我试图修改的实际地图是:

有两个选项,并且。我喜欢MarkerWithlabel,因为它更轻,更易于使用。缺点是我不知道如何在创建MarkerWithlabel后替换它的文本。你可以使用InfoBox来做,因为你实际上需要创建一个div

我将给出一个Javascript中的静态数据示例,您可以用XML中的数据替换它。您还需要设置MarkerWithLabel的样式以适合您的图标。例如,labelStyle:top将更改垂直偏移

单击“不是真正的ajax”按钮

函数createMarker(位置、标签){
返回新的MarkerWithLabel({
职位:职位,,
可拖动:错误,
地图:地图,
标签文本:标签,
labelClass:“labels”,//标签的CSS类
标签样式:{顶部:“0px”,左侧:“-21px”,不透明度:0.75},
labelVisible:正确
});
}
var readData=function(){//创建标记
pos=[
新的google.maps.LatLng(40,-85),
新的google.maps.LatLng(42,-92),
新的google.maps.LatLng(36,-100),
新google.maps.LatLng(39,-112)
];
标签=[“$200”,“99分”,“US$30”,“US$999”];
对于(变量i=0;i
有两个选项,和。我喜欢MarkerWithlabel,因为它更轻,更易于使用。缺点是我不知道如何在创建MarkerWithlabel后替换它的文本。您可以使用InfoBox来执行此操作,因为您实际上需要创建一个div

我将给出一个Javascript中的静态数据示例,您可以用XML中的数据替换它。您还需要设置MarkerWithLabel的样式以适合您的图标。例如,labelStyle:top将更改垂直偏移

单击“不是真正的ajax”按钮

函数createMarker(位置、标签){
返回新的MarkerWithLabel({
职位:职位,,
可拖动:错误,
地图:地图,
标签文本:标签,
labelClass:“labels”,//标签的CSS类
标签样式:{顶部:“0px”,左侧:“-21px”,不透明度:0.75},
labelVisible:正确
});
}
var readData=function(){//创建标记
pos=[
新的google.maps.LatLng(40,-85),
新的google.maps.LatLng(42,-92),
新的google.maps.LatLng(36,-100),
新google.maps.LatLng(39,-112)
];
标签=[“$200”,“99分”,“US$30”,“US$999”];
对于(变量i=0;i
我知道这是一个较旧的线程,但我遇到了一个非常类似的问题(试图更新使用MarkerWithLabel创建的标记的标签内容),我花了一段时间才找到解决方案

使用MarkerWithLabel创建标记:

marker = new MarkerWithLabel({
  position: googlemapslatlng,
  icon: url-to-icon,
  map: map,
  title: "Marker Title",
  labelContent: content,
  labelClass: marker_shade
});
然后,可以使用以下方法更新标签:

marker.labelClass = marker_shade_updated;
marker.labelContent = marker_content_updated;
marker.label.setStyles(); // Force the marker label to redraw

希望这有帮助。

我知道这是一个较旧的线程,但我遇到了一个非常类似的问题(尝试更新使用MarkerWithLabel创建的标记的标签内容),我花了一段时间才找到解决方案

使用MarkerWithLabel创建标记:

marker = new MarkerWithLabel({
  position: googlemapslatlng,
  icon: url-to-icon,
  map: map,
  title: "Marker Title",
  labelContent: content,
  labelClass: marker_shade
});
然后,可以使用以下方法更新标签:

marker.labelClass = marker_shade_updated;
marker.labelContent = marker_content_updated;
marker.label.setStyles(); // Force the marker label to redraw

希望这有帮助。

我可以问一下你用的是哪个版本吗?对我不适用。我可以问一下你用的是哪个版本吗?对我不适用。