Xamarin.Forms
지도 작업
수색…
비고
다른 컴퓨터에서 프로젝트를 실행하려면 SHA-1 지문이 다른 빌드 시스템과 일치하지 않으므로 새 API 키를 생성해야합니다.
당신은 Xamarin.Forms에지도 추가 예제에서 설명한 프로젝트를 탐색 할 수 있습니다 여기를
Xamarin.Forms에서 맵 추가하기 (Xamarin Studio)
Xamarin Forms를 사용하여 각 플랫폼에서 기본 맵 API를 간단하게 사용할 수 있습니다. Nuget 에서 Xamarin.Forms.Maps 패키지를 다운로드하고 PCL 프로젝트를 포함하여 각 프로젝트에 설치하기 만하면됩니다.
지도 초기화
우선이 코드를 플랫폼 별 프로젝트에 추가해야합니다. 이렇게하려면 아래 예제와 같이 Xamarin.FormsMaps.Init
메서드 호출을 추가해야합니다.
iOS 프로젝트
AppDelegate.cs 파일
[Register("AppDelegate")]
public partial class AppDelegate : Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
{
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
Xamarin.Forms.Forms.Init();
Xamarin.FormsMaps.Init();
LoadApplication(new App());
return base.FinishedLaunching(app, options);
}
}
Android 프로젝트
MainActivity.cs 파일
[Activity(Label = "MapExample.Droid", Icon = "@drawable/icon", Theme = "@style/MyTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(bundle);
Xamarin.Forms.Forms.Init(this, bundle);
Xamarin.FormsMaps.Init(this, bundle);
LoadApplication(new App());
}
}
플랫폼 구성
지도가 표시되기 전에 일부 플랫폼에서는 추가 구성 단계가 필요합니다.
iOS 프로젝트
iOS 프로젝트에서 Info.plist 파일에 2 개의 항목을 추가하면됩니다.
- 값이있는
NSLocationWhenInUseUsageDescription
문자열We are using your location
-
NSLocationAlwaysUsageDescription
값이Can we use your location
문자열Can we use your location
Android 프로젝트
Google지도를 사용하려면 API 키를 생성하여 프로젝트에 추가해야합니다. 이 키를 얻으려면 아래 지침을 따르십시오.
(선택 사항) 키 도구 위치 (기본값은
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands
)를 찾습니다.(선택 사항) 터미널을 열고 keytool 위치로 이동하십시오.
cd /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands
다음 keytool 명령을 실행하십시오.
keytool -list -v -keystore "/Users/[USERNAME]/.local/share/Xamarin/Mono for Android/debug.keystore" -alias androiddebugkey -storepass android -keypass android
[USERNAME]이 현재 사용자 폴더 인 곳입니다. 출력물에서 이와 비슷한 것을 얻어야한다.
Alias name: androiddebugkey Creation date: Jun 30, 2016 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=Android Debug, O=Android, C=US Issuer: CN=Android Debug, O=Android, C=US Serial number: 4b5ac934 Valid from: Thu Jun 30 10:22:00 EEST 2016 until: Sat Jun 23 10:22:00 EEST 2046 Certificate fingerprints: MD5: 4E:49:A7:14:99:D6:AB:9F:AA:C7:07:E2:6A:1A:1D:CA SHA1: 57:A1:E5:23:CE:49:2F:17:8D:8A:EA:87:65:44:C1:DD:1C:DA:51:95 SHA256: 70:E1:F3:5B:95:69:36:4A:82:A9:62:F3:67:B6:73:A4:DD:92:95:51:44:E3:4C:3D:9E:ED:99:03:09:9F:90:3F Signature algorithm name: SHA256withRSA Version: 3
이 출력에서 필요한 것은 SHA1 인증서 지문입니다. 우리의 경우에는 다음과 같습니다.
57:A1:E5:23:CE:49:2F:17:8D:8A:EA:87:65:44:C1:DD:1C:DA:51:95
이 키를 복사하거나 저장하십시오. 우리는 나중에 그것을 필요로 할 것이다.
Google Developers Console로 이동합니다. 여기서는 Google Maps Android API 를 추가해야하므로 선택할 수 있습니다.
프로젝트 용 Google Maps API 사용 : API를 활성화 한 후에는 앱용 자격 증명을 만들어야합니다. 이 팁을 따르십시오.
다음 페이지에서 Android 플랫폼을 선택하고 "자격 증명이 필요합니까?" 버튼을 누르고 API 키의 이름을 만들고 "패키지 이름 및 지문 추가"를 탭한 다음 4 단계에서 패키지 이름과 SHA1 지문을 입력하고 마지막으로 API 키를 만듭니다. Xamarin Studio에서 패키지 이름을 찾으려면 .Droid 솔루션 -> AndroidManifest.xml로 이동하십시오.
생성 후 새로운 API 키를 복사하고 ( "완료"버튼을 눌러야 함)
AndroidManifest.xml
파일에 붙여 넣습니다. AndroidManifest.xml 파일<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="documentation.mapexample"> <uses-sdk android:minSdkVersion="15" /> <application android:label="MapExample"> <meta-data android:name="com.google.android.geo.API_KEY" android:value="AIzaSyBAg8X-t4pOIDDp3q5Ph45jKUIVjo_RnxU" /> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> </application> </manifest>
또한 몇 가지 추가 기능을 사용하려면 매니페스트에서 일부 권한을 사용하도록 설정해야합니다.
- 거친 위치에 액세스
- 파인 위치에 액세스
- 액세스 위치 추가 명령
- 액세스 모의 위치
- 네트워크 상태 액세스
- 와이파이 상태에 액세스하기
- 인터넷
하지만지도 데이터를 다운로드하려면 마지막 두 가지 권한이 필요합니다. 자세한 내용은 Android 권한 에 대해 읽어보십시오. 이것이 Android 구성의 모든 단계입니다.
참고 : Android 시뮬레이터에서 앱을 실행하려면 Google Play 서비스를 Android 시뮬레이터에 설치해야합니다. 이 자습서 를 따라 Xamarin Android Player에 Play 서비스를 설치하십시오. Play 스토어 설치 후 Google Play 서비스 업데이트를 찾을 수없는 경우지도 서비스에 의존하는 앱에서 바로 업데이트 할 수 있습니다
지도 추가하기
crossplatform 프로젝트에 맵보기를 추가하는 것은 매우 간단합니다. 다음은 XAML없이 PCL 프로젝트를 사용하는 방법에 대한 예제입니다.
PCL 프로젝트
MapExample.cs 파일
public class App : Application
{
public App()
{
var map = new Map();
map.IsShowingUser = true;
var rootPage = new ContentPage();
rootPage.Content = map;
MainPage = rootPage;
}
}
그게 다야. 이제 iOS 또는 Android에서 앱을 실행하면지도보기가 표시됩니다.