Question

Je veux obtenir la latitude et la longitude de l'adresse dans l'une de mes applications ASP.NET, je sais que c'est possible en utilisant Google API mais je veux le faire sans montrer Google Map. Comment puis je faire ça? Je veux aussi obtenir une distance entre deux paires de latitude et de longitude. Veuillez également me guider à cet égard.

Merci Pankaj

Était-ce utile?

La solution

Vous devez tout faire dans une fonction onload, comme décrit à http://code.google.com/apis/maps/documentation/introduction.html#loading_the_maps_api . L'idée de base (en utilisant la version 2 de l'API) est:

var coder = new GClientGeocoder();
coder.getLatLng(
                "Addr to Geocode",
                function(point) {
                    if (point) {
                        // Do something with GLatLng point                
                    }
                }
            );

Pour obtenir la distance (en mètres), faites:

point1.distanceFrom(point2)

Autres conseils

Ou essayez ceci ..

Remarque: vous voudrez remplacer le «Yabbadabbadoo» par votre propre clé API Google Maps.

Dans le corps de votre page Web, permet de placer des zones de texte sur le formulaire afin que nous puissions saisir les détails de l'adresse que nous voulons trouver les coordonnées (et un bouton pour effectuer le calcul des coordonnées):

Adresse 1: Adresse Ligne 2: Ville: Code postal: Pays: Latitude: Longitude:

Maintenant, il ne reste plus qu'à créer la fonction JavaScript qui effectuera le calcul. Alors voici:

function calculateCoordinates() {

    var txtAddress1 = document.getElementById('<%= txtAddress1.ClientID%>');
    var txtAddress2 = document.getElementById('<%= txtAddress2.ClientID%>');
    var txtTown = document.getElementById('<%= txtTown.ClientID%>');
    var txtPostcode = document.getElementById('<%= txtPostcode.ClientID%>');
    var txtCountry = document.getElementById('<%= txtCountry.ClientID%>');
    var txtLatitude = document.getElementById('<%= txtLatitude.ClientID%>');
    var txtLongitude = document.getElementById('<%= txtLongitude.ClientID%>');

    var address = txtAddress1.value + ', ';
    address += txtAddress2.value + ', ';
    address += txtTown.value + ', ';
    address += txtPostcode.value + ', ';
    address += txtCountry.value;

    var geocoder;
    geocoder = new GClientGeocoder();
    geocoder.getLatLng(address, function(latlng) {
        if (!latlng) {
            alert(address + ' not found');
        } else {
            txtLatitude.value = latlng.lat();
            txtLongitude.value = latlng.lng();
        }
    });

}

Ceci est dû à un bogue dans le mécanisme de mise en cache du cadre.La solution de contournement la plus facile est d'utiliser une couleur presque noire, telle que #ff010101.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top