2011-11-18 128 views
0

我試圖找出如何限制可以創建一個標記的數目。使用「other-example.html」文件中的示例代碼,用戶可以創建多個標記,並且我希望用戶限制爲一個標記。我嘗試過的 「如果」 的語句,如 「INT I;如果(我< 1){...我++;}」,圍繞addMarker功能,並沒有任何運氣。我猜測這是一件很容易修復的事情。谷歌地圖API V3 jQuery Mobile的

http://jquery-ui-map.googlecode.com/svn/trunk/demos/other-examples.html

此外,我想找到使用gmaps通過PHP/MySQL的緯度/經度位置數據記錄到我已經創建了一個數據庫,一個很好的教程。具體而言,如何將新創建的標記的經緯度信息傳遞給數據庫,然後再檢索要顯示在不可編輯的gmap上的座標?

我會感謝所有幫助我可以帶着這些問題搞定了,我不希望他們都回答!

回答

0

如果你允許用戶添加標記,我說那你做一個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。