2024-04-25 18:19:18 发布
网友
django1.8和python2.7。 我尝试使用jQuery和Ajax更新标记的位置。在
我的json对象只有一个数组:
[{"latitud": "55.75222", "ciudad": "Moscu", "longitud": "37.61556"}]
在初始化映射之后,我创建了这个函数来设置标记,还使用setTimeout来获取新的标记位置。在
结果是,当一个新的纬度和经度值输入到数据库时,我无法得到新的位置。 如果有人能帮我,我会很感激的
这是一个使用数据层的解决方案。在
可以使用setTime方法调用服务器:
var geoUrl = 'http://127.0.0.1:8000/maps/car/gpspos/'; $(document).ready(function(){ setTimeout(function() { map.data.loadGeoJson(geoUrl); },5000); });
但您必须以GeoJSON格式从服务器发送json
在对服务器的第二次调用中,每个特性都由其id更新,因此如果在服务器端更改了它的位置,那么它的位置也会发生变化。在
也可以使用此方法更改样式,此方法对绘制的每个要素都会调用该方法。或者事件,您可以获得特性的属性
map.data.setStyle(function(feature){ //getting property var ciudad = feature.getProperty('ciudad'); //setting style for each feature return({ icon: '//example.com/path/to/image.png', fillColor: 'green' }); });
将前面的lat,long保存在一个变量中,当您再次向db请求时检查它。在
var lat, lng; function setMarker(map) { $.getJSON('http://127.0.0.1:8000/maps/car/gpspos/', function(userPos) { userLat = userPos["userPosView"][0].latitud; userLon = userPos["userPosView"][0].longitud; if(lat == null){ lat = userLat; } if(lng == null){ lng = userLat; } if(userLat != lat && userLon != lng){ lat = userLat; lng = userLong; //do stuff Console.log("lat lng changed"); } var position = new google.maps.LatLng(userLat,userLon); var marker = new google.maps.Marker({ position: position, }); marker.setMap(map) }); }
我猜你是在请求db调用setMarker方法。在
这是一个使用数据层的解决方案。在
可以使用setTime方法调用服务器:
但您必须以GeoJSON格式从服务器发送json
^{pr2}$在对服务器的第二次调用中,每个特性都由其id更新,因此如果在服务器端更改了它的位置,那么它的位置也会发生变化。在
也可以使用此方法更改样式,此方法对绘制的每个要素都会调用该方法。或者事件,您可以获得特性的属性
将前面的lat,long保存在一个变量中,当您再次向db请求时检查它。在
我猜你是在请求db调用setMarker方法。在
相关问题 更多 >
编程相关推荐