发布时间: 2015-12-23 09:14:00
昨天的 ipal 实战失败。 没有搞定,比较麻烦。(android)
今天试试高德地图SDK
1. 注册。 输入邮箱, 申请appkey
2. 于是收到一封邮件,看起来心里暖暖的:
尊敬的开发者: 您好!感谢您选择高德 LBS 开放平台,注册成为我们的开发者! 高德作为业内最专业的地图公司,我们一直致力于为合作伙伴、开发者提供最专业、最优质的定位、地图及导航服务。 我们的目标是:让天下没有难做的地图开发! 首先,说说我们为您提供了什么? 在官网 ( lbs.amap.com )上,您可以找到: 1、 最专业最易用的地图开发工具 我们为开发者提供了覆盖了 JS 、 Android 、 iOS 、 Windows 等全平台的地图 API/SDK 。 让每个开发者获得和高德地图一样专业的定位、地图及导航。 定位 地图 路线规划 导航 室内地图 了解更多 >> 2、 最贴心的 O2O 解决方案 这是一个“一键速成 ” 的时代,我们也深谙开发者需求。 针对 O2O 不同场景,我们推出了一系列产品解决方案,有源码、有 demo 。 30 分钟搞定 O2O 应用!说出来都不信吧?! O2O . 到家 O2O . 到店 O2O . 出行 了解更多 >> 3、 最快捷的位置云存储 & 云计算 高德云图为您提供了一个自有位置数据采集、存储、渲染及检索的一体化高效能工具。 自有数据地图开发,选择它,据说开发量减少了 50% 都不止呢! 数据采集 数据存储及展现 了解更多 >> 4、 最权威的位置大数据 高德 LBS 开放平台每天支持超过 100 亿次定位请求,拥有海量的车流、人流轨迹数据。 我们在商业选址、用户画像、交通迁徙等维度给出最权威的大数据分析。 了解更多 > > 其次,如何联系到我们? 如果您有权限申请需求或合作需求,请点击 “这里” 。 如果您有技术问题,可以先看看 "常见问题" ; 如果还是不能解决您的问题,可以到 “ 论坛 ” 提问,产品经理会及时回复您。 感谢您对于高德 LBS 开放平台的信任及支持!我们会努力做的更好! 高德LBS开放平台 2015年12月23日
下载高德SDK, 重点是解压缩这个文件,可以看到:
把这些jar文件都copy到对应的lib, libs目录下。
修改: android/timodule.xml 文件,加上:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:icon="@drawable/icon"
android:label="@string/app_name" >
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="894c16bf75aa417888bb70ebd63b9f66"/>
<activity android:name="com.amap.demo.LocationManager" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity></application>
原文中的: “注意:因为3D地图SDK和导航SDK需要引入so库文件,所有需要再app/src/main/目录下新建jniLibs目录,将so放到此目录下,如图所示: ” 这句话中的文件我没有找到。所以就跳过了。
接下来,就根据官方文档的:
显示3D地图时,布局文件(res/layout/basicmap_activity.xml):
<?xml version="1.0" encoding="utf-8"?>
<!-- 引入布局文件 -->
<com.amap.api.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent" />
程序代码(com.amapv2.apis.basic. BasicMapActivity.java): /** * AMapV2地图中介绍如何使用mapview显示地图 */ //声明变量 private MapView mapView; private AMap aMap; //在onCreat方法中给aMap对象赋值 setContentView(R.layout.basicmap_activity); mapView = (MapView) findViewById(R.id.map); mapView.onCreate(savedInstanceState);// 必须要写 aMap = mapView.getMap();
然后,遇到个问题:
[INFO] Running dexer: /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java "-Xmx512M" "-XX:-UseGCOverheadLimit" "-Djava.ext.dirs=/workspace/coding_tools/android-sdk-macosx/platform-tools" "-jar" "/workspace/coding_tools/android-sdk-macosx/build-tools/23.0.2/lib/dx.jar" "--dex" "--output=/workspace/test_map/build/android/bin/classes.dex" "/workspace/test_map/build/android/bin/classes" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/lib/titanium-verify.jar" "/workspace/test_map/modules/android/com.test.gaode/1.0.0/module_gaodemap.jar" "/workspace/test_map/modules/android/com.test.gaode/1.0.0/lib/AMap_Android_3DMapSDK_V3.1.1_20151216.jar" "/workspace/test_map/modules/android/com.test.gaode/1.0.0/lib/AMap_Location_v2.0.0_20151117.jar" "/workspace/test_map/modules/android/com.test.gaode/1.0.0/lib/AMap_Services_V2.7.0_20151125.jar" "/workspace/test_map/modules/android/com.test.gaode/1.0.0/lib/Volley.jar" "/workspace/test_map/modules/android/com.test.gaode/1.0.0/lib/android-support-v4.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/kroll-v8.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/modules/titanium-analytics.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/aps-analytics.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/modules/titanium-android.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/jaxen-1.1.1.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/ti-commons-codec-1.3.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/kroll-common.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/titanium.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/modules/titanium-app.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/modules/titanium-ui.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/nineoldandroids-appc-2.4.0.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/modules/titanium-filesystem.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/modules/titanium-media.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/modules/titanium-appcompat.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/android-support-v4.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/android-support-v7-appcompat.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/modules/titanium-cardview.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/cardview-v7-23.0.1.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/modules/titanium-locale.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/modules/titanium-network.jar" "/Users/sg552/Library/Application Support/Titanium/mobilesdk/osx/6.0.0.v20151228134127/android/modules/titanium-xml.jar" [ERROR] Failed to run dexer: [ERROR] [ERROR] Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat; [ERROR] Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoIcsImpl; [ERROR] Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoStubImpl; [ERROR] Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl; [ERROR] Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompatIcs; [ERROR] Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/ActivityCompat; [ERROR] Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/ActivityCompatHoneycomb; [ERROR] Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/BackStackRecord; [ERROR] Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/BackStackRecord$Op; [ERROR] [ERROR] UNEXPECTED TOP-LEVEL EXCEPTION: [ERROR] java.lang.RuntimeException: Translation has been interrupted [ERROR] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:608) [ERROR] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311) [ERROR] at com.android.dx.command.dexer.Main.run(Main.java:277) [ERROR] at com.android.dx.command.dexer.Main.main(Main.java:245) [ERROR] at com.android.dx.command.Main.main(Main.java:106) [ERROR] Caused by: java.lang.InterruptedException: Too many errors [ERROR] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:600) [ERROR] ... 4 more
半个月前就卡在这里了。 仔细看了下后面的消息,发现跟i18n没关系,是我多加了一个jar文件: android-support-v4.jar 应该是titanium已经把这个文件包含过了。 不应该再次包含。
删掉之后,就可以重新编译了。
于是,接下来,我们要搞定的,就是如何:
1. 获取到 MapView:
2. 根据mapview 获取到amap
3. amap.getView()
Back