尝试使用百度地图获取位置时应用程序崩溃

YD

我尝试在我的应用程序中实现百度地图。我设置了一切,它可以显示静态地图。但是当我尝试获取当前位置时,当我尝试调用方法 mLocationClient.start() 后,我的应用程序崩溃。我已经设置了 api 密钥,请求权限,启用服务并将库放在正确的位置。但是这次崩溃仍然存在。而且我无法从我的 Logcat 获取任何崩溃信息。任何人都有在您的Android应用程序中实施百度地图的经验?

import android.os.Bundle``
import android.support.v7.app.AppCompatActivity
import android.widget.Button
import com.baidu.location.BDAbstractLocationListener
import com.baidu.location.BDLocation
import com.baidu.location.LocationClient
import com.baidu.location.LocationClientOption
import com.baidu.mapapi.CoordType
import com.baidu.mapapi.SDKInitializer
import com.baidu.mapapi.map.*
import com.baidu.mapapi.model.LatLng
import com.starkey.android.newlink.R

class BaiduMapDemoActivity : AppCompatActivity() {

    private var mMapView: MapView? = null
    private var findLocation: Button? = null
    lateinit var map: BaiduMap
    private var isFirstLoc = true

    override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)

        SDKInitializer.initialize(this)
        SDKInitializer.setCoordType(CoordType.BD09LL)

        setContentView(R.layout.baidu_demo)
        mMapView = findViewById(R.id.bmapView)
        findLocation = findViewById(R.id.addfence) as Button

        map = mMapView!!.map
        map.isMyLocationEnabled = true
        map.isMyLocationEnabled = true

        val mCurrentMode = MyLocationConfiguration.LocationMode.FOLLOWING
        val mCurrentMarker = 
        BitmapDescriptorFactory.fromResource(R.drawable.ha_icon)
        val accuracyCircleFillColor = 0xAAFFFF88.toInt()
        val accuracyCircleStrokeColor = 0xAA00FF00.toInt()

        map.setMyLocationConfiguration(MyLocationConfiguration(
                mCurrentMode, true, mCurrentMarker,
                accuracyCircleFillColor, accuracyCircleStrokeColor))
        val mLocationClient = LocationClient(applicationContext)
        val mylistener = MyLocationListenner()

        mLocationClient.registerLocationListener(mylistener)
        val option = LocationClientOption()
        option.locationMode = 
(LocationClientOption.LocationMode.Hight_Accuracy)
        option.setCoorType("bd09ll")
        option.setScanSpan(1000)
        option.openGps = true
        option.setLocationNotify(true)
        option.setIgnoreKillProcess(false)
        option.SetIgnoreCacheException(false)
        option.setWifiCacheTimeOut(5 * 60 * 1000)
        option.setEnableSimulateGps(false)

        mLocationClient.setLocOption(option)

        (findLocation as Button).setOnClickListener {
            mLocationClient.start()
        }

        var test = mLocationClient.isStarted
        mLocationClient.requestLocation()
    }

    override fun onDestroy() {
        super.onDestroy()
        mMapView!!.onDestroy()
    }

    override fun onResume() {
   
        super.onResume()
        mMapView!!.onResume()

    }

    override fun onPause() {
        super.onPause()
        mMapView!!.onPause()
    }

    inner class MyLocationListenner : BDAbstractLocationListener() {

        override fun onReceiveLocation(location: BDLocation?) {
            if (location == null || mMapView == null)
                return;
            val locData = MyLocationData.Builder()
                    .accuracy(location.radius)
                    .direction(100.toFloat()).latitude(location.latitude)
                    .longitude(location.longitude).build()
            map.setMyLocationData(locData)
            if (isFirstLoc) {
                isFirstLoc = false
                val ll = LatLng(location.latitude,
                        location.longitude)
                val u = MapStatusUpdateFactory.newLatLng(ll)
                map.animateMapStatus(u)
            }
        }
        fun onReceivePoi(poiLocation: BDLocation) {
        }
    }

来自 Logcat 的消息:

2019-01-04 13:37:57.483 25394-25394/com.starkey.android.newlink.debug I/System.out:通话开始前

2019-01-04 13:37:59.255 25394-25401/com.starkey.android.newlink.debug E/zygote64:无法从 DEX pc 0x0000014f 中的寄存器 v6 中读取 JT_BOOLEAN 本地方法 void com.android.in。 ZygoteInit.main(java.lang.String[])

2019-01-04 13:37:59.296 25394-25401/com.starkey.android.newlink.debug E/zygote64:无法从 DEX pc 0x0000014f 中的寄存器 v6 中读取 JT_BOOLEAN 本地方法 void com.android.in。 ZygoteInit.main(java.lang.String[])

2019-01-04 13:37:59.299 25394-25401/com.starkey.android.newlink.debug E/zygote64:无法在方法 void com.android.internal. 中从 DEX pc 0x0000014f 的寄存器 v9 读取 JT_INT 本地ZygoteInit.main(java.lang.String[])

2019-01-04 13:37:59.305 25394-25401/com.starkey.android.newlink.debug E/zygote64:无法从 DEX pc 0x0000014f 方法中的寄存器 v12 中读取 JT_BOOLEAN 本地 com.android. ZygoteInit.main(java.lang.String[])

2019-01-04 13:39:08.749 25394-25394/com.starkey.android.newlink.debug I/System.out:通话开始后

陈杰诺

AFAIK,SDKInitializer.initialize应该使用ApplicationContext,this里面Activity是不够的。

SDKInitializer.initialize(applicationContext)

代替

SDKInitializer.initialize(this)

参考:你好百度地图(中文)

  1. Context应用程序创建时用于初始化SDK的引用是一个全局变量;

警告:在使用 SDK 中的任何组件之前,(您)必须调用SDKInitializer.initialize(getApplicationContext());. 所以ee建议把这个方法放在Application.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在同一应用中使用Google地图和百度地图

来自分类Dev

在发布模式下首次尝试使用Facebook sdk共享数据时,android应用程序崩溃

来自分类Dev

Android上的百度地图:访问键不适用于位置搜索

来自分类Dev

在android中在片段内使用地图时,应用程序后退时崩溃了?

来自分类Dev

Google地图坐标是否映射到百度地图中的相同位置?

来自分类Dev

尝试获取设备位置时,iOS应用程序崩溃-线程1:EXC_BAD_ACCESS

来自分类Dev

尝试执行httppost时应用程序崩溃

来自分类Dev

尝试使用它下载大型文件时,Node.js应用程序崩溃

来自分类Dev

使用SherlockFragmentActivity时应用程序崩溃

来自分类Dev

尝试显示Toast时应用程序崩溃

来自分类Dev

尝试使用摄像头意图捕获视频时,应用程序崩溃

来自分类Dev

当我尝试设置onClickListener时,应用程序崩溃

来自分类Dev

使用startActivityForResult时应用程序崩溃

来自分类Dev

尝试删除其他应用程序使用的帐户时,Windows 10设置应用程序崩溃

来自分类Dev

尝试使用UIPickerView加载视图时,iOS应用程序崩溃NSUnknownKeyException

来自分类Dev

尝试请求网页时,应用程序不断崩溃

来自分类Dev

尝试获取设备位置时,iOS应用程序崩溃-线程1:EXC_BAD_ACCESS

来自分类Dev

尝试加载通知时,应用程序崩溃

来自分类Dev

尝试执行httppost时应用程序崩溃

来自分类Dev

从自定义应用程序启动百度地图意图

来自分类Dev

如何在百度地图中实现地图位置自动补全 for IOS SDK

来自分类Dev

尝试将图像 URL 作为字符串获取时应用程序崩溃

来自分类Dev

尝试设置我的地图视图时我的应用程序崩溃

来自分类Dev

使用 Intent 时应用程序崩溃

来自分类Dev

尝试使用 sharedPreferences,但应用程序崩溃

来自分类Dev

当我尝试访问当前位置时出现错误和应用程序崩溃

来自分类Dev

使用 editText.setSelection(position) 定义光标位置时应用程序崩溃;

来自分类Dev

当我尝试打开 Fragment 时应用程序崩溃

来自分类Dev

使用 Azure 通知中心和百度向 Xamarin Android 应用程序发送通知

Related 相关文章

  1. 1

    在同一应用中使用Google地图和百度地图

  2. 2

    在发布模式下首次尝试使用Facebook sdk共享数据时,android应用程序崩溃

  3. 3

    Android上的百度地图:访问键不适用于位置搜索

  4. 4

    在android中在片段内使用地图时,应用程序后退时崩溃了?

  5. 5

    Google地图坐标是否映射到百度地图中的相同位置?

  6. 6

    尝试获取设备位置时,iOS应用程序崩溃-线程1:EXC_BAD_ACCESS

  7. 7

    尝试执行httppost时应用程序崩溃

  8. 8

    尝试使用它下载大型文件时,Node.js应用程序崩溃

  9. 9

    使用SherlockFragmentActivity时应用程序崩溃

  10. 10

    尝试显示Toast时应用程序崩溃

  11. 11

    尝试使用摄像头意图捕获视频时,应用程序崩溃

  12. 12

    当我尝试设置onClickListener时,应用程序崩溃

  13. 13

    使用startActivityForResult时应用程序崩溃

  14. 14

    尝试删除其他应用程序使用的帐户时,Windows 10设置应用程序崩溃

  15. 15

    尝试使用UIPickerView加载视图时,iOS应用程序崩溃NSUnknownKeyException

  16. 16

    尝试请求网页时,应用程序不断崩溃

  17. 17

    尝试获取设备位置时,iOS应用程序崩溃-线程1:EXC_BAD_ACCESS

  18. 18

    尝试加载通知时,应用程序崩溃

  19. 19

    尝试执行httppost时应用程序崩溃

  20. 20

    从自定义应用程序启动百度地图意图

  21. 21

    如何在百度地图中实现地图位置自动补全 for IOS SDK

  22. 22

    尝试将图像 URL 作为字符串获取时应用程序崩溃

  23. 23

    尝试设置我的地图视图时我的应用程序崩溃

  24. 24

    使用 Intent 时应用程序崩溃

  25. 25

    尝试使用 sharedPreferences,但应用程序崩溃

  26. 26

    当我尝试访问当前位置时出现错误和应用程序崩溃

  27. 27

    使用 editText.setSelection(position) 定义光标位置时应用程序崩溃;

  28. 28

    当我尝试打开 Fragment 时应用程序崩溃

  29. 29

    使用 Azure 通知中心和百度向 Xamarin Android 应用程序发送通知

热门标签

归档