我有一张传单地图,上面的标记显示了一个选定国家的顶级城市。单击标记时,在AJAX调用中使用该城市的LAT/LNG,并通过使用weather API的PHP cURL例程弹出显示该城市天气信息的模式。触发此click事件后会出现几个easyButtons。
现在,我想添加另一个模式,该模式包含相同城市的不同信息,当用户单击这些easyButtons之一时,该模式将弹出,方法是使用另一个API使用与天气调用中使用的相同的LAT/LNG值。
是否有一种简单的方法可以访问AJAX调用中的LAT/LNG值,以便在函数范围之外使用?即,当用户单击新的easyButton时,可以使用来自当前标记的LAT/LNG数据?或者关于如何实现此功能的任何其他建议?
任何帮助都非常感谢-谢谢!
JS:
var locationList = [];
citiesArray.forEach(city => {
locationList.push({
lat: city.lat,
lng: city.lng,
cityName: city.toponymName
});
});
console.log(locationList)
for (var i=0; i < locationList.length; i++) {
$cityMarker = L.marker(new L.latLng([locationList[i]['lat'], locationList[i]['lng']]))
.addTo($layers)
.bindPopup(locationList[i]['cityName'])
$($cityMarker).on('click', (event) => {
var marker = event.target;
$.ajax({
url: "getLatLngInfo.php",
type: 'POST',
data: {
lat: marker.getLatLng().lat,
lng: marker.getLatLng().lng
},
success: function(result) {
console.log(result);
$weatherButton.enable();
$wikiButton.enable();
$('#weather').modal('show');
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
console.log(textStatus);
console.log(jqXHR);
}
});
});
}
}
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
console.log(textStatus);
console.log(jqXHR);
}
});
});
$($wikiButton).on('click'.............
您可以将单击的标记存储在变量clickedmarker
:
var locationList = [];
var clickedMarker;
citiesArray.forEach(city => {
locationList.push({
lat: city.lat,
lng: city.lng,
cityName: city.toponymName
});
});
console.log(locationList)
for (var i=0; i < locationList.length; i++) {
$cityMarker = L.marker(new L.latLng([locationList[i]['lat'], locationList[i]['lng']]))
.addTo($layers)
.bindPopup(locationList[i]['cityName'])
$($cityMarker).on('click', (event) => {
var marker = event.target;
clickedMarker = marker;
$.ajax({
url: "getLatLngInfo.php",
type: 'POST',
data: {
lat: marker.getLatLng().lat,
lng: marker.getLatLng().lng
},
success: function(result) {
console.log(result);
$weatherButton.enable();
$wikiButton.enable();
$('#weather').modal('show');
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
console.log(textStatus);
console.log(jqXHR);
}
});
});
}
}
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
console.log(textStatus);
console.log(jqXHR);
}
});
});
$($wikiButton).on('click',()=>{
var marker = clickedMarker;
$.ajax({
url: "getLatLngInfo.php",
type: 'POST',
data: {
lat: marker.getLatLng().lat,
lng: marker.getLatLng().lng
},
success: function(result) {
console.log(result);
$weatherButton.enable();
$wikiButton.enable();
$('#weather').modal('show');
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
console.log(textStatus);
console.log(jqXHR);
}
});
});
我有一个脚本,其中为页面上的每个元素调用一个函数。它可以很好地处理单独的函数调用,但如果我试图用唯一的选择器调用函数,它就不能正常工作。我如何实现一个循环,为每个html块单独调用函数,但只使用一个类(例如,如果我有X元素),而不使用像现在这样的单独的选择器(startLoop('#stack1');startLoop('#stack2');ecc.ecc.)对它们进行寻址(startLoop('
问题内容: 我正在使用jQuery $ .ajax()函数。我已经将其放入父函数中,该函数将一些值传递给ajax函数。我想做的是有一个用户定义的回调函数,该函数获取从ajax成功函数传入的数据参数。 这是我当时想的可行方法,但并非如此: 然后,我希望能够调用该函数,并传入我的自定义函数,以便可以使用该函数内部的成功函数数据: 我希望这与以下内容相同: 问题答案: 对我来说很好用:
所以如果我有一个lat-lng&一个距离。我可以用距离和起点(lat-lng)计算下一个点(lat-lng)吗。方向无关紧要。 所以基本上我想要的是像lat2-lng2=lat1-lng1(一些公式)的距离,如下所示
正在尝试使用sql db中的lat/long坐标移动间隔上的标记/映射。 在moveMarkerMap()中设置新的google.maps.LatLng(14,41)将移动它,返回的数据显示在alert()中,但与moveMarkerMap()一起使用时,标记不会移动 从ajax返回的字符串是正确的格式;(9.624672,7.242244)如警报()所示,所以不确定为什么它不工作。
问题内容: 使用的技术:MySQL 5.1和PHP 5.3 我正在为我正在编写的网站设计一个新的数据库。我正在寻找现在存储纬度和经度值的最佳方法。 过去,我一直使用DECIMAL并使用PHP / MySQL选择以下形式: 查找最近的匹配地点。 开始阅读有关新技术的更多信息,我想知道是否应该使用Spatial Extensions。http://dev.mysql.com/doc/refman/5.
我有谷歌地图搜索框,当我搜索特定的地方时,我想用(lat,lng)访问标记位置,当我通过拖放标记时,我可以准确地访问位置 但我希望在搜索完成时获得标记位置,而不使用&