2013-12-11 170 views
0

我试图从预定义变量addrstartnameaddrEndName添加标记到谷歌地图。它在v2中运行得很好,但是在v3中不显示。向谷歌地图添加标记v3

function addMarker2Map(point,markerID,imageUrl) { 
    marker = new google.maps.Marker(point, { 
    draggable: false, 
    autoPan: false, 
    title: (markerID.toLowerCase().indexOf("start") != -1) ? 'Start Point: ' + addrStartName: 'End Point: ' + addrEndName 
    }); 
    marker.id = markerID; 
    marker.setMap(map); 
    marker.setIcon(imageUrl); 
    if (markerID.indexOf("tart") != -1) { 
    dirMarkerFrom = marker; 
    google.maps.event.addListener(marker, 'dragend', function(point) { 
     findAddrLocations(point, geocoderGetLocsFrom, geocoderNotFound); 
    }); 
    } else { 
    dirMarkerTo = marker; 
    google.maps.event.addListener(marker, 'dragend', function(point) {findAddrLocations(point, geocoderGetLocsTo, geocoderNotFound);}); 
    } 
google.maps.event.addListener(marker, 'click', function (point) { 
    if (this.id.toLowerCase().indexOf("start") != -1) { 
     this.openInfoWindow("<div style='width:200px'><img src='images/google_pointer_start.png' alt='Start Address' title='Start Address' align='middle' /> <strong>Start Address:</strong><br />" + addrStartName + "</div>"); 
     } else { 
     this.openInfoWindow("<div style='width:200px'><img src='images/google_pointer_finish.png' alt='End Address' title='End Address' align='middle'/><strong>End Address:</strong><br />" + addrEndName + "</div>"); 
    } 
}); 
} 

昨天我在marker.setIcon(imageUrl);附近发现错误,但今天工作正常。

调用这个函数也是一个例子可以在这里看到

google.maps.event.removeListener(mapClick); 
    if (point != undefined){ 
    addMarker2Map(point,markerID,imageUrl) 
        } 

预先感谢您的任何帮助

回答

1

google.maps.Marker的构造函数不正确。

只需要一个参数,一个MarkerOptions object

marker = new google.maps.Marker(point,{draggable:false, autoPan:false, title:  (markerID.toLowerCase().indexOf("start") != -1)?'Start Point: '+addrStartName:'End Point:  '+addrEndName}); 

应该是:

marker = new google.maps.Marker({position: point, draggable:false, autoPan:false, title:  (markerID.toLowerCase().indexOf("start") != -1)?'Start Point: '+addrStartName:'End Point:  '+addrEndName}); 
+0

谢谢你,我已经实施了,但没有运气我怕。我添加了一个例子,当我将这个函数调用到我的原始文章中的代码。 – Corinne

+0

然后还有更多的问题(运气不应该涉及)。您需要为我们提供足够的代码来复制问题(或者展示问题的jsfiddle或链接) – geocodezip