繁体   English   中英

Android Google Map V2 API导致构建错误

[英]Android Google Map V2 API results in building error

我一直想在正在开发的应用程序中使用Android Google Map API,但在实现它时遇到了麻烦。 我遵循了Google Developers提供的教程( https://developers.google.com/maps/documentation/android-api/map-with-marker ),当我开始运行该应用程序时,它导致了此构建错误: 生成错误 我一直在寻找解决此问题的方法,但未能找到解决方案。

activity_maps.xml

 <fragment xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.mapwithmarker.MapsMarkerActivity" /> 

MapsWithMarkerActivity

    package com.example.mapwithmarker;

    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;

    import com.google.android.gms.maps.CameraUpdateFactory;
    import com.google.android.gms.maps.GoogleMap;
    import com.google.android.gms.maps.OnMapReadyCallback;
    import com.google.android.gms.maps.SupportMapFragment;
    import com.google.android.gms.maps.model.LatLng;
    import com.google.android.gms.maps.model.MarkerOptions;

    /**
     * An activity that displays a Google map with a marker (pin) to indicate a particular location.
     */
    public class MapsMarkerActivity extends AppCompatActivity
    implements OnMapReadyCallback {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            // Retrieve the content view that renders the map.
            setContentView(R.layout.activity_maps);
            // Get the SupportMapFragment and request notification
            // when the map is ready to be used.
            SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
            mapFragment.getMapAsync(this);
        }

        @Override
        public void onMapReady(GoogleMap googleMap) {
            // Add a marker in Sydney, Australia,
            // and move the map's camera to the same location.
            LatLng sydney = new LatLng(-33.852, 151.211);
            googleMap.addMarker(new MarkerOptions().position(sydney)
            .title("Marker in Sydney"));
            googleMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
        }
}

build.gradle(模块应用程序)

    apply plugin: 'com.android.application'

        android {
            compileSdkVersion 24
            buildToolsVersion "23.0.3"
            defaultConfig {
            applicationId "com.example.mapwithmarker"
            minSdkVersion 15
            targetSdkVersion 24
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner 
    "android.support.test.runner.AndroidJUnitRunner"
            resValue "string", "google_maps_key", 
    (project.findProperty("GOOGLE_MAPS_API_KEY") ?: "")
        }
        buildTypes {
            release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

}

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
            exclude group: 'com.android.support', module: 'support-annotations'
        })
        compile 'com.android.support:appcompat-v7:24.2.1'
        compile 'com.google.android.gms:play-services:9.8.0'
        testCompile 'junit:junit:4.12'
    }

AndroidManifest.xml中

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.mapwithmarker">

        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">

            <meta-data
                android:name="com.google.android.gms.version"
                android:value="@integer/google_play_services_version" />


            <meta-data
                android:name="com.google.android.geo.API_KEY"
                android:value="@string/google_maps_key" />

            <activity
                android:name=".MapsMarkerActivity"
                android:label="@string/title_activity_maps">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>

    </manifest>

我正在使用Nexus 5X API 23(Android 6.0,API 23)仿真器来运行此程序。 提前谢谢了

摆脱这种情况的一种方法,只需添加所需的依赖项即可。 就你而言

compile 'com.google.android.gms:play-services:9.8.0'

替换为

compile 'com.google.android.gms:play-services-maps:9.8.0'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM