Created
March 29, 2016 07:55
-
-
Save nuitsjp/2db9774b84df71632523 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private async void OnSearchButtonPressed(object sender, EventArgs e) | |
{ | |
// 検索バーから入力された地名から緯度・経度を取得する | |
var positions = await geocoder.GetPositionsForAddressAsync(searchBar.Text); | |
// 座標は複数とれる可能性があるが、今回は先頭の座標を利用する | |
var position = positions.FirstOrDefault(); | |
// 座標が一つ以上とれていた場合のみ以下を処理する | |
if (position != null) | |
{ | |
// 該当地点へ移動する | |
map.MoveToRegion( | |
MapSpan.FromCenterAndRadius( | |
position, | |
Distance.FromMiles(0.2))); | |
// 座標から住所を逆引きする | |
var addresses = await geocoder.GetAddressesForPositionAsync(position); | |
// 住所は複数とれる可能性があるが、今回は先頭の住所を利用する | |
var address = addresses.FirstOrDefault(); | |
// 住所が一つ以上とれていた場合、以下を処理する | |
if (address != null) | |
{ | |
// 以前設定したピンがあればピンを除去する | |
map.Pins.Clear(); | |
// 新たにピンを作成し地図へ登録する | |
var pin = new Pin | |
{ | |
Type = PinType.Place, // ピンの形状 | |
Position = position, // ピンを登録する座標 | |
Label = searchBar.Text, // ピンのラベル。検索条件を設定 | |
Address = address.Replace("\n", "") // ピンの住所。取得した住所の先頭が「日本\n~」となるので改行を除去する | |
}; | |
map.Pins.Add(pin); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment