지난번에 Google Maps Platform에서 획득한 Api Key를 통해 GoogleMap 서비스를 연동하고자 한다.
예제는 지정 GPS좌표에 Pin 설정하는 예제로 Youtube를 통해 공부해 본다.
참조:Xamarin Forms Maps Part 1 - YouTube
APIKEY 획득
codepulse.tistory.com/92
XamarinForms Project 생성 후 NugetPackageManager로부터 GoogleMaps Service PlugIn을 설치 한다.
>>NugetPackageManager를 통해 Xamarin.GoogleMaps 설치
>>Xamarin.Forms의 Version이 v4.0.0 이하인 경우 최신 버전으로 업그레이드 해야함
Android 매니페스트 설정, 아래 내용 활성화
-ACCESS_COARSE_LOCATION
-ACCESS_FINE_LOCATION
-ACCESS_MOCK_LOCATION
-INTERNET
Android Project 추가 PlugIn 설치
>>NugetPackageManager를 통해 Plugin.CurrentActivity 설치
MainActivity.cs
protected override void OnCreate(Bundle saveInstanceState)
{
...
//Initialize for Xamarin.Forms.GoogleMaps
Xamarin.FormsGoogleMaps.Init(this, saveInstanceState);
LoadApplication(new App());
}
MainApplication.cs 추가
using Android.App;
using Android.Runtime;
using GoogleMapExamApp.Constants;
using Plugin.CurrentActivity;
using System;
#if DEBUG
[Application(Debuggable = true)]
#else
[Application(Debuggable = false)]
#endif
[MetaData("com.google.android.maps.v2.API_KEY", Value="GoogleMapsApiKey")]
public class MainApplication : Application
{
public MainApplication(IntPtr handle, JniHandleOwnership transer) : base(handle, transer)
{
}
public override void OnCreate()
{
base.OnCreate();
CrossCurrentActivity.Current.Init(this);
}
}
XamarinProject
MainPage.xaml
xmlns:maps="clr-namespace:Xamarin.Forms.GoogleMaps;assembly=Xamarin.Forms.GoogleMaps"
<maps:Map x:name="googleMap"/>
MainPage.cs
using Xamarin.Forms;
using Xamarin.Forms.GoogleMaps;
Pin curPin = new Pin()
{
Type = PinType.Place,
Label = "HighSchool",
Address = "Seo-gu, InCheon, Korea",
Position = new Position(37.52910769193946, 126.65717902235926),
Rotation = 33.3f,
Tag = "id_incheon",
}
googleMap.Pins.Add(curPin);
googleMap.MoveToRegion(MapSpan.FromCenterAndRadius(curPin.Position, Distance.FromMeters(5000)));
※GPS좌표는 GoogleMap을 통해 획득 했다.
예제는 성공했으나, 다음번엔 GPS센서를 통해 내가 있는 위치를 가져올 계획이다.
'개발언어 > Xamarin' 카테고리의 다른 글
Google Firebase 연동 - Realtime Databas (0) | 2021.03.06 |
---|---|
Google Play 스토어 Android 앱 재배포 (0) | 2021.02.05 |
XamarinForms GoogleMap 연동 - API Key 획득 (0) | 2021.01.24 |
현재 앱이 28의 API 수준을 타겟팅하고 있지만, 보안 및 성능... (0) | 2021.01.23 |
XamarinForms android store 배포 - VisualStudio (0) | 2021.01.11 |