【发布时间】:2018-10-04 15:44:26
【问题描述】:
我正在尝试在我的 Ionic 3 应用程序中使用 ionic-native/google-maps 和 cordova-plugin-googlemaps,同时适用于 Android 和 iOS。
- 起初,我从 google 开发者控制台获得了 android 和 iOS 的 api 密钥。
- 然后使用以下命令安装cordova地图插件和离子原生谷歌地图插件:
ionic cordova plugin add cordova-plugin-googlemaps --variable API_KEY_FOR_ANDROID="..." --variable API_KEY_FOR_IOS="..." npm install @ionic-native/core @ionic-native/google-maps
- 然后,尝试构建项目并得到以下错误:
多个库的包名称为“com.google.android.gms.license”
而且,当时我在 config.xml 中有这些配置:
<plugin name="cordova-plugin-googlemaps" spec="^2.2.9">
<variable name="API_KEY_FOR_ANDROID" value="*******" />
<variable name="API_KEY_FOR_IOS" value="*******" />
<variable name="PLAY_SERVICES_VERSION" value="12.0.0" />
<variable name="ANDROID_SUPPORT_V4_VERSION" value="24.1.0" />
</plugin>
我搜索了一下,发现是这个 PLAY_SERVICES_VERSION 导致了问题。所以,我把它从 12.0.0 改为 12.0.1。然后在从项目中删除node_modules、plugins和platforms文件夹后,再次从头开始添加android平台。但是,然后我收到以下错误:
任务“:transformClassesWithDexForDebug”执行失败。 com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: 多个dex文件定义Lcom/google/android/ gms/auth/api/signin/internal/zzo;
现在,在我的 config.xml 中,我有
<plugin name="cordova-plugin-googlemaps" spec="^2.2.9">
<variable name="API_KEY_FOR_ANDROID" value="*******" />
<variable name="API_KEY_FOR_IOS" value="*******" />
<variable name="PLAY_SERVICES_VERSION" value="12.0.1" />
<variable name="ANDROID_SUPPORT_V4_VERSION" value="24.1.0" />
</plugin>
所以,我再次将 PLAY_SERVICES_VERSION 从 12.0.1 更改为 11.6.0。现在,我可以毫无错误地构建项目,但问题是当我运行项目时,它正在设备中安装 apk 但它没有打开项目。
我的 package.json 中还有 "firebase": "^4.13.1" 和 "angularfire2": "^5.0.0-rc.5-next"。
谁能指出我应该采取哪些步骤在我的项目中使用谷歌地图?
【问题讨论】:
标签: google-maps ionic-framework ionic3