수색…


비고

다른 컴퓨터에서 프로젝트를 실행하려면 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

Info.plist 파일


Android 프로젝트

Google지도를 사용하려면 API 키를 생성하여 프로젝트에 추가해야합니다. 이 키를 얻으려면 아래 지침을 따르십시오.

  1. (선택 사항) 키 도구 위치 (기본값은 /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands )를 찾습니다.

  2. (선택 사항) 터미널을 열고 keytool 위치로 이동하십시오.

    cd /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands

  3. 다음 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
    
  4. 이 출력에서 ​​필요한 것은 SHA1 인증서 지문입니다. 우리의 경우에는 다음과 같습니다.

    57:A1:E5:23:CE:49:2F:17:8D:8A:EA:87:65:44:C1:DD:1C:DA:51:95
    

    이 키를 복사하거나 저장하십시오. 우리는 나중에 그것을 필요로 할 것이다.

  5. Google Developers Console로 이동합니다. 여기서는 Google Maps Android API 를 추가해야하므로 선택할 수 있습니다. 여기에 이미지 설명을 입력하십시오.

  6. Google은 API를 사용하도록 프로젝트를 만들고이 팁을 따라 프로젝트를 만들 것을 요청합니다. 프로젝트를 만드는 팁 프로젝트 생성을위한 페이지

  7. 프로젝트 용 Google Maps API 사용 : API 사용 API를 활성화 한 후에는 앱용 자격 증명을 만들어야합니다. 이 팁을 따르십시오. 자격증 명으로 이동

  8. 다음 페이지에서 Android 플랫폼을 선택하고 "자격 증명이 필요합니까?" 버튼을 누르고 API 키의 이름을 만들고 "패키지 이름 및 지문 추가"를 탭한 다음 4 단계에서 패키지 이름과 SHA1 지문을 입력하고 마지막으로 API 키를 만듭니다. API 만들기 Xamarin Studio에서 패키지 이름을 찾으려면 .Droid 솔루션 -> AndroidManifest.xml로 이동하십시오. Android 패키지 이름

  9. 생성 후 새로운 API 키를 복사하고 ( "완료"버튼을 눌러야 함) AndroidManifest.xml 파일에 붙여 넣습니다. API 키 완료 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 구성의 모든 단계입니다.

    참고 : 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에서 앱을 실행하면지도보기가 표시됩니다. Xamarin.Forms지도



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow