您的位置:首页 > 编程语言 > Java开发

Eclipse百度地图开发只出现网格的问题解决方法归纳

2016-11-07 22:32 567 查看
本人在开发过程中遇到这个问题,确实很头痛,网上很多教程说是百度申请的key有问题,重新创建一下应用就可以了,这个确实有这个可能,但是也不一定。网上有很多怎么加载百度地图SDK的教程,这里不做过多的阐述,主要是看看开发过程中遇到的 问题!

    首先看看怎么申请百度key

-----

在百度搜索百度地图开发者中心



---------------------------------------------------------------------------------------------------------------



-------------------------------------------------------------------------------------------------------------------



-------------------------------------------------------------------------------------------------------------------





-------------------------------------------------------------------------------------------------------------------





-------------------------------------------------------------------------------------------------------------------



-------------------------------------------------------------------------------------------------------------------

但是归根到底,程序确认没错的话应该就是AndroidManifest.xml文件里的代码错误了,这里对重新申请百度地图的KEY就不做过多讲解;网上很多教程,课自行百度,这里主要说一下,AndroidManifest.xml里的权限一定要给足,哪怕多给,有些虽然用不上,给了也没坏处,免得程序崩溃就不知所措,我的问题就是权限这里



这里忘记给这个权限,这个权限主要就是给手机一个网络权限,能够获取网络信息,然后显示地图。可能你的是别的权限问题!!!

下面运行结果~



最后建议最好用真机测试,避免出现别的问题!



最后还是贴一下源码:

MainActivity.java文件

package com.example.baidumaptest;

import java.util.List;

import com.baidu.mapapi.SDKInitializer;

import com.baidu.mapapi.map.BaiduMap;

import com.baidu.mapapi.map.MapStatusUpdate;

import com.baidu.mapapi.map.MapStatusUpdateFactory;

import com.baidu.mapapi.map.MapView;

import com.example.baidumaptest.R.id;

import android.app.Activity;

import android.content.Context;

import android.location.Location;

import android.location.LocationListener;

import android.location.LocationManager;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.widget.Toast;

public class MainActivity extends Activity {
private MapView mapView;
private BaiduMap baiduMap;
private LocationManager locationManager;
private String provider;
private boolean isFirstLocate=true;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
mapView=(MapView)findViewById(R.id.map_view);

}

@Override
protected void onDestroy(){
super.onDestroy();
mapView.onDestroy();

}

@Override
protected void onPause(){
super.onPause();
mapView.onPause();

}

@Override
protected void onResume(){
super.onResume();
mapView.onResume();

}

}

AndroidManifest.xml文件

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.example.baidumaptest"

    android:versionCode="1"

    android:versionName="1.0" >

    

    

    <!--百度地图所需权限-->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS"></uses-permission>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"></uses-permission>
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <uses-permission android:name="android.permission.INTERNET"></uses-permission>

    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"> </uses-permission>

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>

    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>

    <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    <uses-permission android:name="android.permission.BROADCAST_STICKY"></uses-permission>

    <uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>

    

    <uses-sdk

        android:minSdkVersion="14"

        android:targetSdkVersion="19" />

    <application

        android:allowBackup="true"

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme" >

        <meta-data

            android:name="com.baidu.lbsapi.API_KEY"

            android:value="这里写你自己申请到的key" />

            

     

        <activity

            android:name=".MainActivity"

            android:label="@string/app_name" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

    </application>

</manifest>

最后布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent" >

   

    <com.baidu.mapapi.map.MapView

        android:id="@+id/map_view"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:clickable="true" />

</LinearLayout>

如果有想要Demo的可以到这里下载
http://pan.baidu.com/s/1pLgytbd
提取码:i5n1

网上有很多关于这个的博客,如有雷同,请与本人联系,见谅
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐