qiuxiang / react-native-amap3d

react-native 高德地图组件,使用最新 3D SDK,支持 Android + iOS
https://qiuxiang.github.io/react-native-amap3d/api/
MIT License
1.28k stars 331 forks source link

定位失败,获取的信息都为0 #265

Closed mengerzhuanyong closed 6 years ago

mengerzhuanyong commented 6 years ago

"react": "16.2.0", "react-native": "0.52.1", "react-native-amap3d": "^0.12.1", image image 这个问题怎么处理啊

qiuxiang commented 6 years ago

看 android-studio 的 logcat

suwu150 commented 6 years ago

我也遇到了同样的问题,请问怎么解决? 并且在我使用的时候,直接不出现地图界面, 在控制台能够获取到定位的地址坐标,但是在界面不显示地图

qiuxiang commented 6 years ago

@suwu150 你说遇到了相同的问题,但这个问题说的是获取不到坐标,然而你说的却是获取到了坐标,只是不显示,这不是矛盾了嘛。

在界面不显示不是因为没有移动到定位点?

suwu150 commented 6 years ago

实在不好意思,之前是遇到这种问题,是因为我没有在模拟器上面的虚拟定位打开,在我打开之后可以在控制台输出我设置的信息,可以打印出我设置的位置,但是界面显示空白页面,没有地图画面;当我在huawei实体机上面运行的时候,仍然是(0,0),界面显示空白界面。 下面是我设置的配置:

    <application
      android:name=".MainApplication"
      android:label="@string/app_name"
      android:icon="@mipmap/icon_android"
      android:allowBackup="false"
      android:theme="@style/AppTheme">
      <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
        android:windowSoftInputMode="adjustResize">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
      </activity>
      <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
      <meta-data
        android:name="com.amap.api.v2.apikey"
        android:value="45a570c1ba309a53988e46f772b19332" />
    </application>

权限配置

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

使用方法


  onLocation = ({ nativeEvent }) => {
    console.log(` 坐标点:${nativeEvent.latitude}, ${nativeEvent.longitude}`)
  };

  render() {
    return (
      <View style={styles.container}>
        <MapView
          locationEnabled
          onLocation={this.onLocation}
        />
      </View>
    );
  }

引用方式

import { MapView } from 'react-native-amap3d'

谢谢你能帮我解决问题

qiuxiang commented 6 years ago

@suwu150 看 logcat,无非是权限和 key,这类问题已经不想再回复了。