标签未添加到Google地图标记

时间:2017-09-22 19:32:08

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

在我的代码中,我加载地图,然后在搜索完成后填充表格,然后地图使用该数据绘制出标记。无论我尝试什么,我都无法获得标记。

 var map = null;
 var geocoder = null;
 var point = null;

function DoIt() {
        map = new google.maps.Map(document.getElementById("map"));
        map.setCenter(new GLatLng(28.55074, -82.42082), 10);
        map.addControl(new GLargeMapControl());
        map.addControl(new GScaleControl());
        map.addControl(new GMapTypeControl());

        // Function for handling zooms 
        GEvent.addListener(map, "zoomend", function (oldzoomlevel, zoomlevel) {
            document.getElementById('tbZoomLevel').value = zoomlevel;
        });

        GEvent.addListener(map, "dragend", function (overlay, point) {
            var center = map.getCenter();
            document.getElementById("tbX").value = center.lat();
            document.getElementById("tbY").value = center.lng();
        });
        geocoder = new GClientGeocoder();

        <%= mapVolunteers() %>
    }

然后我从数据表中提取数据,返回ID,x y坐标和标记信息,如下所示。

   function createMarker(id, point, info) {
            var marker = new google.maps.Marker(point,{ title: "Id: " + id, label: "test" });
            GEvent.addListener(marker, "click", function () {
                marker.openInfoWindowHtml(info);
            });
            GEvent.addListener(marker, "mouseover", function () {
                try {
                    document.getElementById(marker.idNumber).style.fontSize = '8pt';
                    document.getElementById(marker.idNumber).style.textDecoration = 'underline';
                    document.getElementById(marker.idNumber).style.fontWeight = 'Bold';
                }
                catch (e)
                { }
            });
            GEvent.addListener(marker, "mouseout", function () {
                try {
                    document.getElementById(marker.idNumber).style.fontSize = '8pt';
                    document.getElementById(marker.idNumber).style.textDecoration = '';
                    document.getElementById(marker.idNumber).style.fontWeight = '';
                }
                catch (e)
                { }
            });
            return marker;
        }

无论我尝试什么标签都不行。目前我的地图除了标签之外还以我想要的方式工作。希望这是一个简单的解决方案,不需要过多地重写我现有的代码。我可以做些什么来获得每个图标的标签或我缺少什么?我希望改变是在api方面,而不是第三方js。

1 个答案:

答案 0 :(得分:2)

我可以看到的一件事是,你的标记实例化程度与平时略有不同。如果您使用的是Maps Javascript API,则通常会这样做:

var myLatLng = {lat: -25.363, lng: 131.044};
var marker = new google.maps.Marker({
  position: myLatLng,
  map: map,
  title: 'title',
  label: 'A'
});

以下是标记的文档:https://developers.google.com/maps/documentation/javascript/3.exp/reference#Marker

希望有所帮助。