gpt4 book ai didi

javascript - 使用 jquery ajax 和地理定位解析 xml

转载 作者:行者123 更新时间:2023-11-28 02:24:55 25 4
gpt4 key购买 nike

我想使用地理定位获取我当前的位置并且它可以工作,然后我想解析 xml,其中 latlon 应该是我的位置。但我的代码似乎有些问题:

url: "http://**/festivalapi.php?method=getPhotos&returntype=xml&lat="+ mylat + "&lon="+ mylong ",

但是如果我直接使用纬度和经度就可以了。像这样:

url: http://**/festivalapi.php? method=getPhotos&returntype=xml&lat=54.911859&lon=-1.343404` 

所以我认为这里一定有一些语法错误..

这是整个jquery:

$(document).ready(function () {

if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(displayPosition, errorFunction, { enableHighAccuracy: true, maximumAge: 30000, timeout: 27000 });
} else {
alert('It seems like Geolocation, which is required for this page, is not enabled in your browser. Please use a browser which supports it.');
}

function displayPosition(pos) {
var mylat = pos.coords.latitude;
var mylong = pos.coords.longitude;
var thediv = document.getElementById('locationinfo');
thediv.innerHTML = '<p>Your latitide is :' +
mylat + ' and your longitude is ' + mylong + '</p>';
}

// Error callback function
function errorFunction(pos) {
alert('Error!');
}



$.ajax({
type: "GET",
url: "http://**/festivalapi.php? method=getPhotos&returntype=xml&lat=" + mylat + "&lon="+ mylong ",
dataType: "xml",
success: function (xml) {
$(xml).find('photo').each(function () {
var name = $(this).find('name').text();
var url = $(this).find('url').text();

$('<li></li>').append("<img src='" + url + "'/>").appendTo('#photos');


});
},
error: function () {
alert('Sorry, an error occured loading the XML file');
}
});

});

最佳答案

您的 mylatmylong 变量是在 displayPosition() 函数中使用 var 声明的,但是您在 AJAX 调用中的该函数之外使用它们。此时它们尚未设置,因此您不会将它们传递给 AJAX 调用。

将您的 AJAX 调用移至 displayPosition() 中,看看是否可以解决该问题。

关于javascript - 使用 jquery ajax 和地理定位解析 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15102311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com