我可以在我的html页面中选择城市,并且我希望根据我的每个选择在我的传单地图上找到该城市。 这是我的HTML代码:
<select name="city" id="select" onchange="shift_city()">
<option value="camera1">Hungary, Oroshaza</option>
<option value="camera2">Korea, Gosunguhwi</option>
<option value="camera3">Canada, Toronto</option>
</select>
这是我的js代码:
function shift_city(){
var value_city=document.getElementById("select").value;
$.ajax({
type: "GET",
url: "http://xx.xx.xx.xx",
dataType: "json",
headers: { "fiware-service": "smartcity" , "fiware-servicepath": "/"},
error:function(e){
console.log(e);
alert("noooooo");
},
success: function (data) {
for(var i=0;i<data.length;i++){
if(value_city==data[i].id.value){
var lat=data[i].latitude.value;
var lng=data[i].longitude.value;
map.setView(new L.LatLng(lat, lng), 8);
}
}
}
});
}
在Ajax中有2个标题,所以我可以获得过滤查询结果。但是,只有当我只选择一次时,我才能获得正确的数据,但如果我想重新选择没有重载js的城市,我就会得到没有过滤器的原始数据,就像我没有标题的查询一样。 我不明白为什么会这样? 这个城市也没有在地图上找到。
提前感谢您的帮助。
答案 0 :(得分:0)
最后,我通过调用ajax一次改进了我的函数,并将数据用于外部函数。 在外面ajxa: var myData = data;
然后在函数shift_city()里面获取myData