所以我要做的是,通过使用ip-lookup和geo-lookup服务,在访问者位置的地图上放置一个标记..暂时。
稍后将其用作放置在页面上的脚本,以便为用户位置提供数据库,以便他们访问我们的网站。 然后通过读取数据库,在用户所在的地图上的实际放置点。一种仪表板。
总之..
//
[ Above this i've declared a googlemap, hence the google.maps-references ]
$('#addButton').click(function(){
var ipurl = 'http://jsonip.appspot.com/';
//displays the users ip-adress in json-format
$.getJSON(ipurl,function(json){
var ip = json.ip;
//gets the ip from the above url
var geourl='http://freegeoip.appspot.com/json/' + ip;
//gets location details from the ip in json-format
$.getJSON(geourl,function(json){
var myLatlng = new google.maps.LatLng(json.latitude, json.longitude);
//set the position for the map
var marker = new google.maps.Marker({
position: myLatlng,
title:"Hello World!"
});
marker.setMap(map);
});
});
});
当我试图运行它时,我想我得出的结论是,当脚本试图运行第二个JSON函数时,我会收到GET错误。它只是跳过它。
知道可能导致这种情况的原因吗?
的 修改 :
我已经为第二个JSON请求更改了变量。它有效。但就在我尝试将它放在我的本地机器上的时候。使用Safari。
在Chrome和Firefox中尝试过。本地和服务器上。不会工作。
FireBug中的红色标记文字:
GET http://example.com/json/ 200 OK 168ms
$(document).ready(function(){
$('#addButton').click(function(){
var ipurl = 'http://jsonip.appspot.com/';
$.getJSON(ipurl,function(json){
var ip = json.ip;
var url='http://freegeoip.appspot.com/json/' + ip;
$('#result').append(
'<p>1: ' + ip + '</p>' +
'<p>2: ' + url + '</p>');
$.getJSON(url,function(json2){
$('#result').append('<p>' + json2.longitude + ' / ' + json2.latitude + '</p>');
});
});
});
});
答案 0 :(得分:0)
尝试更改第二个函数的json参数。我认为在为两个函数使用相同的参数名称时会遇到麻烦。