2016-02-12 61 views
2

我在Google Map中有一個可拖動的標記。我想將標記的位置發送到Flask視圖。我怎樣才能做到這一點?將Google Maps標記位置發送到Flask拖動

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> 
<body onload='initialize()'> 
    Lat: 
    <input id="lat" name="lat" val="40.713956" /> 
    Long: 
    <input id="long" name="long" val="74.006653" /> 
    <div id="map_canvas" style="width: 500px; height: 250px;"></div> 

<script> 
    var map; 

    function initialize() { 
     var myLatlng = new google.maps.LatLng({{ lat}}, {{ long }}); 

     var myOptions = { 
      zoom: 8, 
      center: myLatlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 
     map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

     var marker = new google.maps.Marker({ 
      draggable: true, 
      position: myLatlng, 
      map: map, 
      title: "Your location" 
     }); 

     google.maps.event.addListener(marker, 'dragend', function (event) { 
      document.getElementById("lat").value = event.latLng.lat(); 
      document.getElementById("long").value = event.latLng.lng(); 
     }); 

     // close popup window 
     google.maps.event.addListener(map, 'click', function() { 
     infowindow.close(); 
     }); 

    } 
    google.maps.event.addDomListener(window, "load", initialize()); 
</script> 
</body> 
+0

燒瓶,谷歌地圖非常甜蜜。 – wgwz

回答

1

發現它自己和一個偉大的DEV人的幫助。

的JavaScript:

function initialize() { 
    var myLatlng = new google.maps.LatLng({{ geolat }}, {{ geolong }}); 

    var myOptions = { 
     zoom: 16, 
     center: myLatlng, 
     streetViewControl: true, 
     mapTypeControl: true, 
     zoomControl: true, 
     mapTypeId: google.maps.MapTypeId.SATELLITE 
    }; 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

    var marker = new google.maps.Marker({ 
     draggable: true, 
     position: myLatlng, 
     map: map, 
     title: "Your location" 
    }); 

    google.maps.event.addListener(marker, 'dragend', function (event) { 
      sendCoords(event.latLng.lat(),event.latLng.lng()) 
    }); 

    // close popup window 
    google.maps.event.addListener(map, 'click', function() { 
    infowindow.close(); 
    }); 

在你創建的.py腳本得到的參數,就像這樣:

lat = request.args.get('lat') 
long = request.args.get('long') 

並存儲變量(或任何你需要的)

+0

如何發送此視圖? – blackmamba

相關問題