1

这是我正在尝试修改的示例:http: //jquery-ui-map.googlecode.com/svn/trunk/demos/jquery-google-maps-geocoding.html

我想添加单个标记。

    var markers = $('#map_canvas').gmap('get', 'markers');

我得到了所有的标记,一开始都没有。

    if(markers == null) {

    $(map).click( function(event) {
        alert (event);
        $('#map_canvas').gmap('addMarker', {
            'position': event.latLng, 
            'draggable': true, 
            'bounds': false
        }, function(map, marker) {
            findLocation(marker.getPosition(), marker);
        }).dragend( function(event) {
            findLocation(event.latLng, this);
        });
    });
}

因此,如果没有标记允许创建一个,但再次检查是否有一个只是启用拖动它。

我的问题是这不正确。标记默认给出空字符串。任何想法?

--------

解决方案

$(map).click( function(event) {

    if(!map.singleMarker) { 

    $('#map_canvas').gmap('addMarker', {
        'position': event.latLng, 
        'draggable': true, 
        'bounds': false
    }, function(map, marker) {
        findLocation(marker.getPosition(), marker);
    }).dragend( function(event) {
        findLocation(event.latLng, this);
    });

        map.singleMarker = true;        
    };  
});
4

1 回答 1

1

只是为了回答问题:

$(map).click( function(event) {

if(!map.singleMarker) { 

$('#map_canvas').gmap('addMarker', {
    'position': event.latLng, 
    'draggable': true, 
    'bounds': false
}, function(map, marker) {
    findLocation(marker.getPosition(), marker);
}).dragend( function(event) {
    findLocation(event.latLng, this);
});

    map.singleMarker = true;        
};  
});
于 2012-11-27T12:38:36.367 回答