Zapoznaj się z http://www.ipinfodb.com/. Możesz uzyskać wartość szerokości i długości geograficznej, przekazując usługi swoim adresom IP. Zrobiłem ostatnio coś, co stworzyłem prostą usługę, która chwyciła aktualny adres IP, a następnie przekazała go do usługi ("api/location/city" to tylko usługa, która zwija usługę ipinfodb). JQuery:
$.get("api/location/city", null, function(data, textStatus)
{
if (data != null)
{
if (data.Status == "OK")
{
var lat = parseFloat(data.Latitude);
var lng = parseFloat(data.Longitude);
$.setCenter(lat, lng, $.settings.defaultCityZoom);
manager = new MarkerManager(map, {trackMarkers : true });
var e = $.createUserMarker(map.getCenter());
e.bindInfoWindowHtml($("#marker-content-event").html());
var m = [];
m.push(e);
// map.addOverlay(e);
manager.addMarkers(m, 10);
manager.refresh();
}
else
{
$.setCenter($.settings.defaultLat, $.settings.defaultLng, $.settings.defaultZoom);
}
}
}, "json");
Kluczem tutaj jest ta linia:
$.setCenter(lat, lng, $.settings.defaultCityZoom);
Wystarczy ustawienie środka do lat/lng wyniku wezwania serwisowego.
To jest dobre, ale teraz muszę dowiedzieć się, jak zdobyć IP. – Eeyore