2012-02-15 25 views
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;   
    }; 
}); 

回答

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;   
}; 
});