6. 必要な知識
プラットフォーム
個別
Xamarin Native
iOS API Objective-C, Swift Xcode
Android API Java Android Studio
Windows API Visual StudioC#
API 言語 統合開発環境
iOS API Objective-C, Swift Xcode
Android API Java Android Studio
Windows API Visual StudioC#
Xamarin.Forms
iOS API
Android API
Windows API
Objective-C, Swift Xcode
Java Android Studio
Visual StudioC#Xamarin.Forms
UI toolkit
6
10. 11
//ネット接続を確認
var connection = CrossConnectivity.Current;
If (connection.IsConnected)
//Xam.Plugin.Geolocatorを使用して緯度、経度を取得
var locator = CrossGeolocator.Current;
locator.DesiredAccuracy = 50;
var position = await locator.GetPositionAsync(10000);
Connectivity Plugin/Geolocator Plugin
11. 12
using (var client = new HttpClient())
{
var json = await client.GetStringAsync(url);
var items = JsonConvert.DeserializeObject<GeoCode>(json);
string address = items.results[0].formatted_address;
}
Geocode API から JSON で住所を取得
public class Result
{
...
public string formatted_address { get; set; }
}
public class GeoCode
{
public List<Result> results { get; set; }
public string status { get; set; }
}
http://maps.google.com/maps/api/geocode/json?latlng=35.641324,139.740914&sensor=false&language=ja-jp
12. 13
var pinCurrent = new Pin()
{
Type = PinType.Place,
Label = "Current Place",
Address = address,
Position = new Position(position.Latitude, position.Longitude),
};
map.Pins.Add(pinCurrent);
map.MoveToRegion(MapSpan.FromCenterAndRadius(
pinCurrent.Position, Distance.FromMeters(1000)));
Map に Pin を追加して移動