如果你允許用戶添加標記,我說那你做一個AJAX調用你的PHP頁面,通過用戶ID,緯度和經度(和其他任何你的數據庫需要)。
爲了防止用戶將超過1個標記,我想你一定是在正確的軌道。我可能會這樣做。
var intMarkers = 0; // make it global
$('#map_canvas').gmap().bind('init', function(event, map) {
$(map).click(function(event) {
intMarkers++;
if (intMarkers === 0) {
$('#map_canvas').gmap('addMarker', {'position': event.latLng, 'draggable': true, 'bounds': false}, function(map, marker) {
$('#dialog').append('<form id="dialog'+marker.__gm_id+'" method="get" action="/" style="display:none;"><p><label for="country">Country</label><input id="country'+marker.__gm_id+'" class="txt" name="country" value=""/></p><p><label for="state">State</label><input id="state'+marker.__gm_id+'" class="txt" name="state" value=""/></p><p><label for="address">Address</label><input id="address'+marker.__gm_id+'" class="txt" name="address" value=""/></p><p><label for="comment">Comment</label><textarea id="comment" class="txt" name="comment" cols="40" rows="5"></textarea></p></form>');
findLocation(marker.getPosition(), marker);
}).dragend(function(event) {
var self = this;
findLocation(event.latLng, this);
}).click(function() {
openDialog(this);
});
// stick in an Ajax call here too
}
});
});
此外,示例代碼使用的是已棄用的Google Maps API 2,我建議您改用API 3。