2017-10-05 1 views
0

En fait, je veux obtenir l'emplacement actuel de l'utilisateur pour suivre son mouvement, Est-il possible dans l'application web Asp.Net? Parce que j'ai besoin de le tracer après chaque seconde ou en continu. J'ai fait un code qui me donne la latitude et la longitude à localhost mais pas sur ip Adresse Pourquoi? Il donne une erreur sur la carte "Quelque chose s'est mal passé". Code est donnée ci-dessous section d'en-têteObtenir l'emplacement actuel des utilisateurs en JavaScript, via l'API GeoLocation

<head runat="server"> 
<title></title> 
     <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor"></script> 
    <script type="text/javascript"> 
    function setText(val, e) { 
    document.getElementById(e).value = val; 
     } 
    function insertText(val, e) { 
document.getElementById(e).value += val; 
    } 

    var nav = null; 
function requestPosition() { 
    if (nav == null) { 
    nav = window.navigator; 
    } 
    if (nav != null) { 
    var geoloc = nav.geolocation; 
    if (geoloc != null) { 
     geoloc.getCurrentPosition(successCallback); 
    } 
    else { 
     alert("geolocation not supported"); 
    } 
} 
else { 
    alert("Navigator not found"); 
    } 
    } 
function successCallback(position) 
    { 
    setText(position.coords.latitude, "latitude"); 
    setText(position.coords.longitude, "longitude"); 
    var latlng = new google.maps.LatLng(position.coords.latitude, 
    position.coords.latitude); 
    var myOptions = { 
    zoom: 8, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var map = new google.maps.Map(document.getElementById("map"), myOptions); 
    var marker = new google.maps.Marker 
    (
    { 
    position: new google.maps.LatLng(position.coords.latitude, 
    position.coords.longitude), 
    map: map, 
    title: 'Click me' 
    } 
    ); 
    } 
    </script> 
    </head> 

Maintenant, la section du corps est

 <body> 
    <label for="latitude">Latitude: </label><input id="latitude" /> <br /> 
    <label for="longitude">Longitude: </label><input id="longitude" /> <br /> 
    <input type="button" onclick="requestPosition()" value="Get Latitude and Longitude" /> 
     <div id="map" style="width:400px;height:400px"> 
      </div> 

     </body> 
+0

C'est un code JavaScript, pas C# et ASP.NET. – krlzlx

+0

@krlzlx j'ai modifié les balises. Mais pouvez-vous me guider comment le gérer? – MMG

+0

Jamais fait cela mais je suppose que cela nécessite plus de quelques lignes de code! – krlzlx

Répondre

0

réseau de MDN de Mozilla a un très bon exemple d'une solution à votre question: https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/Using_geolocation

Cela fonctionne bien pour moi dans JSFiddle (https://jsfiddle.net/api/mdn/), mais pas dans l'extrait de code StackOverflow ci-dessous (au moins dans la dernière version de Chrome). Ceci est probablement un problème avec la politique d'origine croisée concernant l'API GeoLocation.

function geoFindMe() { 
 
    var output = document.getElementById("out"); 
 

 
    if (!navigator.geolocation){ 
 
    output.innerHTML = "<p>Geolocation is not supported by your browser</p>"; 
 
    return; 
 
    } 
 

 
    function success(position) { 
 
    var latitude = position.coords.latitude; 
 
    var longitude = position.coords.longitude; 
 

 
    output.innerHTML = '<p>Latitude is ' + latitude + '° <br>Longitude is ' + longitude + '°</p>'; 
 

 
    var img = new Image(); 
 
    img.src = "https://maps.googleapis.com/maps/api/staticmap?center=" + latitude + "," + longitude + "&zoom=13&size=300x300&sensor=true"; 
 

 
    output.appendChild(img); 
 
    } 
 

 
    function error() { 
 
    output.innerHTML = "Unable to retrieve your location"; 
 
    } 
 

 
    output.innerHTML = "<p>Locating…</p>"; 
 

 
    navigator.geolocation.getCurrentPosition(success, error); 
 
}
body { 
 
    padding: 20px; 
 
    background-color:#ffffc9 
 
} 
 

 
p { margin : 0; }
<p><button onclick="geoFindMe()">Show my location</button></p> 
 
<div id="out"></div>

+0

Maintenant, mon code fonctionne aussi bien sur localhost après l'ajout de GoogleApi Key, mais quand je le déplace vers le domaine (Live), il ne fonctionne pas – MMG

+0

Cette question semble être très similaire: https://stackoverflow.com/a/19740416/ 2147110 – dperish