javascriptを使用してジオロケーションを実行しようとしています。私は検索してきましたが、マップを使用した例しか見つけることができません。ラベル、テキストボックス、またはプレーンテキストウィジェットにユーザーのアドレスを表示したいだけです。
5 に答える
3
この例をチェックしてください:
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
}
}
function showPosition(position) {
alert(position.coords.latitude + ", " + position.coords.longitude;
}
于 2013-01-10T18:54:47.857 に答える
3
<script src="http://j.maxmind.com/app/geoip.js"></script>
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" >
window.onload=getGeo;
function getGeo(){
if (navigator && navigator.geolocation) {
navigator.geolocation.getCurrentPosition(geoOK, geoKO);
} else {
geoMaxmind();
}
}
function geoOK(position) {
showLatLong(position.coords.latitude, position.coords.longitude);
}
function geoMaxmind() {
showLatLong(geoip_latitude(), geoip_longitude());
}
function geoKO(err) {
if (err.code == 1) {
error('El usuario ha denegado el permiso para obtener informacion de ubicacion.');
} else if (err.code == 2) {
error('Tu ubicacion no se puede determinar.');
} else if (err.code == 3) {
error('TimeOut.')
} else {
error('No sabemos que pasó pero ocurrio un error.');
}
}
function showLatLong(lat, longi) {
var geocoder = new google.maps.Geocoder();
var yourLocation = new google.maps.LatLng(lat, longi);
geocoder.geocode({ 'latLng': yourLocation },processGeocoder);
}
function processGeocoder(results, status){
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
document.forms[0].dir.value=results[0].formatted_address;
document.getElementById("")
} else {
error('Google no retorno resultado alguno.');
}
} else {
error("Geocoding fallo debido a : " + status);
}
}
function error(msg) {
alert(msg);
}
</script>
<form align="left">
<input type="text" name="dir" />
</form>
于 2013-01-10T18:55:23.000 に答える
1
HTML5 Geolocation APIを確認してください:http://diveintohtml5.info/geolocation.html
それは次のように簡単です:
navigator.geolocation.getCurrentPosition(function(location) {
// This function is called if the location is found. Use location.coords.latitude & location.coords.longitude
}, function() {
// This function is called if the location is not found.
});
ただし、すべてのブラウザでサポートされているわけではありません。これを公開する場合は、Modernizrを使用してサポートを検出することもお勧めします:http://modernizr.com
于 2013-01-10T18:55:37.200 に答える
0
を使用できますgeoplugin
。
<head>
タグに以下を追加します。
<script src="http://www.geoplugin.net/javascript.gp" type="text/javascript"></script>
これにより、に基づいて場所が決定されますIP address
。
JavaScript内で、
latitude = geoplugin_latitude();
longitude = geoplugin_longitude();
于 2013-01-10T18:55:25.760 に答える
0
これを試して:
<script src="http://www.merkwelt.com/people/stan/geo_js/js/geo.js?id=1" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
if (geo_position_js.init()) {
geo_position_js.getCurrentPosition(success_callback, error_callback, { enableHighAccuracy: true });
}
else {
alert("Functionality not available");
}
function success_callback(p) {
//alert('lat=' + p.coords.latitude.toFixed(2) + ';lon=' + p.coords.longitude.toFixed(2));
longitude = p.coords.longitude.toFixed(2);
latitude = p.coords.latitude.toFixed(2);
}
function error_callback(p) {
alert('error=' + p.code);
}
</script>
次に、経度と緯度から、google apiを使用して場所を取得できます:http: //maps.googleapis.com/maps/api/geocode/json? latlng = 33.84,35.52&sensor = false
于 2013-01-10T18:56:56.047 に答える