Obtenir la Latitude Longitude à partir d'une adresse c#
Je suis à l'aide d'un service web à partir d'geocoder pour obtenir la lat et long à partir de l'adresse, la ville et l'état. Lorsque j'utilise l'exemple ci-dessous, je n'ai pas la lat et long. Suis-je en train de faire quelque chose de mal ici.
Demandé l'adresse: 1125 E., 102e Rue, Los Angeles, CA
Voici mon code:
private void GetLatLongFromAddress(string street, string city, string state)
{
string geocoderUri = string.Format(@"http://rpc.geocoder.us/service/rest?address={0},{1},{2}", street, city, state);
XmlDocument geocoderXmlDoc = new XmlDocument();
geocoderXmlDoc.Load(geocoderUri);
XmlNamespaceManager nsMgr = new XmlNamespaceManager(geocoderXmlDoc.NameTable);
nsMgr.AddNamespace("geo", @"http://www.w3.org/2003/01/geo/wgs84_pos#");
string sLong = geocoderXmlDoc.DocumentElement.SelectSingleNode(@"//geo:long", nsMgr).InnerText;
string sLat = geocoderXmlDoc.DocumentElement.SelectSingleNode(@"//geo:lat", nsMgr).InnerText;
Latitude = Double.Parse(sLat);
Longitude = Double.Parse(sLong);
}
La lat et long revient à 0. J'ai essayé d'ajouter le code postal de trop, mais cela ne fonctionne pas. Est-il mieux webservices qui pourrait me donner la date des résultats.
Merci d'avance.
Google maps cette
Ce n'est pas vraiment un C# question. C'est une question à propos d'un webservice.
Veuillez consulter votre question. Il s'agit d'un service web spécifique, pas du c#.
J'ai essayé votre code GetLatLongFromAddress("1125 E., 102e Rue", "Los Angeles", "CA"); et il a renvoyé la Latitude de 33.944015 et de la Latitude de -118.255818. Comment appelez-vous votre méthode?
Cette fonction fonctionne pour moi, le retour des valeurs correctes. Peut-être que le problème est avec votre objets de la Latitude et de la Longitude? Quelles sont les valeurs de sLong et de lattes quand vous marchez à travers elle?
Ce n'est pas vraiment un C# question. C'est une question à propos d'un webservice.
Veuillez consulter votre question. Il s'agit d'un service web spécifique, pas du c#.
J'ai essayé votre code GetLatLongFromAddress("1125 E., 102e Rue", "Los Angeles", "CA"); et il a renvoyé la Latitude de 33.944015 et de la Latitude de -118.255818. Comment appelez-vous votre méthode?
Cette fonction fonctionne pour moi, le retour des valeurs correctes. Peut-être que le problème est avec votre objets de la Latitude et de la Longitude? Quelles sont les valeurs de sLong et de lattes quand vous marchez à travers elle?
OriginalL'auteur bladerunner | 2012-01-20
Vous devez vous connecter pour publier un commentaire.
J'utilise souvent le Bing Maps Api Rest. Vous pouvez geo-code à l'aide de demandes comme suit:
Vous pouvez le voir à l'usage dans un codeproject article que j'ai écrit sur les reactive extensions.
Par exemple, votre adresse:
Donne la réponse suivante:
Ou ... pour les données XML, ajouter
o=xml
:Qui donne:
Donc de la latitude /longitude de votre adresse (33.9, -118.2)
OriginalL'auteur ColinE
Google Maps est un service web API qui renvoie lat/long, et fonctionne bien pour les grands pays. Voir http://maps.google.com/maps/geo?q=1%205th%20ave,nouveau%20york,ny,us pour un exemple. Les différents formats de sortie sont pris en charge y compris CSV, http://maps.google.com/maps/geo?q=1%205th%20ave,nouveau%20york,ny,us&sortie=csv, JSON, etc.
Je ne suis pas familier avec geocoder.nous, mais Google maps fonctionne bien pour les adresses des états-unis.
Edit 1:
Voir http://code.google.com/apis/maps/faq.html#whatcountries pour une liste des pays pris en charge
Edit 2:
Pour plus de pertinence, voici un exemple de l'API Google Maps appel à votre adresse en question: http://maps.google.com/maps/geo?q=1125%20E.%20102nd%20Street,%20Los%20Angeles,%20CA
Pays d'un certain arbitraire de la taille ou de niveau de développement, j'en suis sûr.
Pays en tant que lien dans la réponse
OriginalL'auteur Shan Plourde