私はGoogleマップAPIを使用してアドレステキストから緯度と経度を取得しようとしています。Googleマップapiは正確なアドレスに緯度/経度を表示しません。C#
ここに私が試したコードがあります。
まず:
var locationService = new GoogleLocationService();
var point = locationService.GetLatLongFromAddress(business.Address2);
var latitude = point.Latitude;
var longitude = point.Longitude;
第二:
IGeocoder geocoder = new GoogleGeocoder() { };
Address[] addresses = geocoder.Geocode(business.Address2).ToArray();
foreach (Address adrs in addresses)
{
var test = adrs.Coordinates;
}
サード:
public RootObject GetLatLongByAddress(string address)
{
var root = new RootObject();
var url =string.Format(
"http://maps.googleapis.com/maps/api/geocode/json?address={0}&sensor=true_or_false", address);
var req = (HttpWebRequest)WebRequest.Create(url);
var res = (HttpWebResponse)req.GetResponse();
using (var streamreader = new StreamReader(res.GetResponseStream()))
{
var result = streamreader.ReadToEnd();
if (!string.IsNullOrWhiteSpace(result))
{
root = JsonConvert.DeserializeObject<RootObject>(result);
}
}
return root;
}
そして、私のアドレス文字列が「階、Nishikaアベニュー、スワスティックシャアラスタ、Navrangpuraあり、ナルナヤンコンプレックス、アーマダバードの向かい "
私はすべてを試しましたが、とにかく私に緯度と経度を与えません。
私はそれは緯度/長い私を与えるのです、私のアドレス文字列(すなわちNavrangpura、反対側Narnarayanコンプレックス、アーメダバード)の最初の部分を削除してみてください。
しかし、フルアドレスでGoogle Mapを検索すると結果が表示されます。
なぜそうですか?何か不足していますか?
ご回答いただきありがとうございますが、Googleマップでご利用いただけるようになっておりますので、 –