0

Wp7で住所の緯度と経度を見つける方法

元 :

場所の名前を「ニューヨーク」とすると、緯度と経度を取得したいと思います。

前もって感謝します

4

3 に答える 3

2
WebClient webClient = new WebClient();
string xml = webClient.DownloadString("http://nominatim.openstreetmap.org/search?city=%22new%20york%22&format=xml");
于 2013-02-06T09:18:18.997 に答える
2

これは機能するはずです:

json文字列を逆シリアル化するためのクラス

public class PlaceInfo
{
    public string place_id { get; set; }
    public string licence { get; set; }
    public string osm_type { get; set; }
    public string osm_id { get; set; }
    public List<string> boundingbox { get; set; }
    public string lat { get; set; }
    public string lon { get; set; }
    public string display_name { get; set; }
    public string @class { get; set; }
    public string type { get; set; }
    public double importance { get; set; }
    public string icon { get; set; }
}

これは、Webサイトから情報を取得するためのコードです。形式はJSONで、c#のjsonserializorを使用しています。

System.Runtime.Serializationを使用します。System.Runtime.Serialization.Jsonを使用します。

WebClient webClient = new WebClient();
string jsonString = webClient.DownloadString("http://nominatim.openstreetmap.org/search?city=%22new%20york%22&format=json");

//load into memorystream
using (var ms = new MemoryStream(Encoding.Unicode.GetBytes(jsonString)))
{
    //parse
    var ser = new DataContractJsonSerializer(typeof(PlaceInfo[]));
    PlaceInfo[] obj = (PlaceInfo[])ser.ReadObject(ms);
}

配列objには、その名前で見つかったすべての場所が含まれるようになりました。たとえば、jsutは、obj[0].lonおよびobj[0].latで見つかった最初の場所になります。

于 2013-02-06T10:04:30.007 に答える
1

多分あなたはopenstreetmapsを使うことができます:

http://nominatim.openstreetmap.org/search?city=%22new%20york%22&format=json

http://nominatim.openstreetmap.org/search?city= "--- cityname ---"&countrycodes = "--- CountryCode ---"&limit = 2&format = json

http://wiki.openstreetmap.org/wiki/Nominatim

結果はjsonまたはxmlとして取得できます

于 2013-02-05T12:20:52.590 に答える