Так что я пытаюсь сделать это, используя сервисы для 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);
});
});
});
Когда я пытаюсь запустить это, я думаю, что пришел к выводу, что я получаю GET-ошибкуили что-то, когда скрипт пытается запустить вторую JSON-функцию.Он просто пропускает это.
Есть идеи, что может вызвать это?
РЕДАКТИРОВАТЬ :
Я изменил переменную для второго 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>');
});
});
});
});