当前位置:首页 » 安卓系统 » android高德地图显示

android高德地图显示

发布时间: 2022-07-27 03:35:13

⑴ android高德地图怎么显示经纬度信息

1.首先需要申请一个高德地图的key值,只有有了这个才能使用高德地图AP。申请地址,点击“获取KEY”,按步骤填空

⑵ 在安卓开发中如何在自己设置的经纬度显示到高德地图上中心点

首先创建工程,并在工程Build Path>Configure Build Path…>libraries 中选择“Add Externel JARs…”,选定 MapApi.jar,点击OK,这样就可以将高德地图Android API 库文件引入。然后在工程Build Path>Configure Build Path…>Order and Export 中将引入的库文件MapApi.jar 选中,点击OK,这样您就可以在您的程序中使用高德地图API 了。 二、我们在不熟悉的情况下、先尽量多的添加此软件应用权限;所以在mainifest中添加如下代码;插入的位置在 三、接着就要在res文件下的layout中添加界面布局了。其代码如下、你可以完全复制进去。 Java代码 四、最后就是软件的主程序部分了、里面需要的类和方法不多,主要以按钮的监听器和地图的界面实现为主 Java代码 public void onCreate(Bundle savedInstanceState) { // this.setMapMode(MAP_MODE_VECTOR);//设置地图为矢量模式 super.onCreate(savedInstanceState); setContentView(R.layout.main); mMapView = (MapView) findViewById(R.id.mapView); mMapView.setBuiltInZoomControls(true); // 设置启用内置的缩放控件 mMapController = mMapView.getController(); // 得到mMapView // 的控制权,可以用它控制和驱动平移和缩放 point = new GeoPoint((int) (39.982378 * 1E6), (int) (116.304923 * 1E6)); // 用给定的经纬度构造一个GeoPoint,单位是微度(度* // 1E6) // 按钮添加监听器 button_location = (Button) findViewById(R.id.location); longitude = (EditText) findViewById(R.id.longitude); latite = (EditText) findViewById(R.id.latitude); locationListener = new OnClickListener() { public void onClick(View e) { if (e.equals(button_location)) { // 得到文本输入框的中经纬 度坐标值 String latStr = longitude.getText().toString(); // 将得到的字符串转成数值 double lat = Integer.parseInt(latStr); String lngStr = latite.getText().toString(); double lng = Integer.parseInt(lngStr); //转成经纬度坐标 lat=lat*1E6; lng=lng*1E6; // 用给定的经纬度构造一个GeoPoint,单位是微度(度*1E6) point = new GeoPoint((int) (lat), (int) (lng)); mMapController.setCenter(point); // 设置地图中心点 mMapController.setZoom(12); // 设置地图zoom 级别 // 添加地图覆盖物 // MyLocationOverlay(this, mMapView); mylocTest.enableMyLocation(); // 判断是否发现位置提供者 mylocTest.enableCompass(); // 打开指南针 mMapView.getOverlays().add(mylocTest);// 添加定位覆盖物 } } }; // 按钮添加监听器 button_location.setOnClickListener(locationListener); mMapController.setCenter(point); // 设置地图中心点 mMapController.setZoom(12); // 设置地图zoom 级别 // 添加地图覆盖物 mylocTest = new MyLocationOverlay(this, mMapView); mylocTest.enableMyLocation(); // 判断是否发现位置提供者 mylocTest.enableCompass(); // 打开指南针 mMapView.getOverlays().add(mylocTest);// 添加定位覆盖物 } //另外一个添加界面覆盖物的类: public class MyLocationOverlayProxy extends com.amap.mapapi.map.MyLocationOverlay{ private Location mLocation; protected final Paint mPaint = new Paint(); protected final Paint mCirclePaint = new Paint(); private Bitmap gps_marker=null; private Point mMapCoords = new Point(); private final float gps_marker_CENTER_X; private final float gps_marker_CENTER_Y; private final LinkedList mRunOnFirstFix = new LinkedList(); public MyLocationOverlayProxy(amap amap, MapView mMapView) { super(amap, mMapView); gps_marker = ((BitmapDrawable) amap.getResources().getDrawable( R.drawable.marker_gpsvalid)).getBitmap(); gps_marker_CENTER_X = gps_marker.getWidth() / 2 - 0.5f; gps_marker_CENTER_Y= gps_marker.getHeight() / 2 - 0.5f; } public boolean runOnFirstFix(final Runnable runnable) { if (mLocation != null) { new Thread(runnable).start(); return true; } else { mRunOnFirstFix.addLast(runnable); return false; } } public void onLocationChanged(Location location) { // TODO Auto-generated method stub mLocation = location; for(final Runnable runnable : mRunOnFirstFix) { new Thread(runnable).start(); } mRunOnFirstFix.clear(); super.onLocationChanged(location); } protected void drawMyLocation(Canvas canvas, MapView mapView, final Location mLocation, GeoPoint point, long time) { Projection pj=mapView.getProjection(); if (mLocation != null) { mMapCoords=pj.toPixels(point, null); final float radius = pj.metersToEquatorPixels(mLocation.getAccuracy()); this.mCirclePaint.setAntiAlias(true); this.mCirclePaint.setARGB(35, 131, 182, 222); this.mCirclePaint.setAlpha(50); this.mCirclePaint.setStyle(Style.FILL); canvas.drawCircle(mMapCoords.x, mMapCoords.y, radius, this.mCirclePaint); this.mCirclePaint.setARGB(225, 131, 182, 222); this.mCirclePaint.setAlpha(150); this.mCirclePaint.setStyle(Style.STROKE); canvas.drawCircle(mMapCoords.x, mMapCoords.y, radius, this.mCirclePaint); canvas.drawBitmap(gps_marker, mMapCoords.x-gps_marker_CENTER_X, mMapCoords.y-gps_marker_CENTER_Y, this.mPaint); } } } 如果 不清楚啊, 可以到我群里讨论 look at my n a m e在安卓开发中如何在自己设置的经纬度显示到高德地图上中心点

⑶ android开发 高德地图怎么设置显示的范围,并且设置缩放的最大级别

// 移动地图,所有marker自适应显示。LatLngBounds与地图边缘10像素的填充区域
aMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 10));

⑷ 高德地图,android开发中,怎么用经纬度来显示地图

首先创建工程,并在工程Build Path>Configure Build Path…>libraries 中选择“Add Externel JARs…”,选定

MapApi.jar,点击OK,这样就可以将高德地图Android API 库文件引入。然后在工程Build Path>Configure Build

Path…>Order and Export 中将引入的库文件MapApi.jar 选中,点击OK,这样您就可以在您的程序中使用高德地图API

了。

二、我们在不熟悉的情况下、先尽量多的添加此软件应用权限;所以在mainifest中添加如下代码;插入的位置在

<application的代码之前。

Java代码
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>

三、接着就要在res文件下的layout中添加界面布局了。其代码如下、你可以完全复制进去。

Java代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<!--添加文本输入框,查找地址-->
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content" android:orientation="horizontal"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_gravity="center_horizontal">
<TextView android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="经度"/>
<EditText android:layout_height="fill_parent"
android:layout_width="100px"
android:id="@+id/longitude"/>
<TextView android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="纬度"/>
<EditText android:layout_height="fill_parent"
android:layout_width="100px"
android:id="@+id/latitude"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="查找"
android:id="@+id/button"/>
</LinearLayout>

<com.amap.mapapi.map.MapView android:id="@+id/mapView"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:clickable="true"
/>
</LinearLayout>

四、最后就是软件的主程序部分了、里面需要的类和方法不多,主要以按钮的监听器和地图的界面实现为主

Java代码
public void onCreate(Bundle savedInstanceState) {
// this.setMapMode(MAP_MODE_VECTOR);//设置地图为矢量模式

super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mMapView = (MapView) findViewById(R.id.mapView);
mMapView.setBuiltInZoomControls(true); // 设置启用内置的缩放控件
mMapController = mMapView.getController(); // 得到mMapView
// 的控制权,可以用它控制和驱动平移和缩放
point = new GeoPoint((int) (39.982378 * 1E6), (int) (116.304923 * 1E6)); // 用给定的经纬度构造一个GeoPoint,单位是微度(度*
// 1E6)
// 按钮添加监听器
button_location = (Button) findViewById(R.id.location);
longitude = (EditText) findViewById(R.id.longitude);
latite = (EditText) findViewById(R.id.latitude);
locationListener = new OnClickListener() {
public void onClick(View e) {
if (e.equals(button_location)) {
// 得到文本输入框的中经纬 度坐标值
String latStr = longitude.getText().toString();
// 将得到的字符串转成数值
double lat = Integer.parseInt(latStr);
String lngStr = latite.getText().toString();
double lng = Integer.parseInt(lngStr);
//转成经纬度坐标
lat=lat*1E6;
lng=lng*1E6;
// 用给定的经纬度构造一个GeoPoint,单位是微度(度*1E6)
point = new GeoPoint((int) (lat), (int) (lng));
mMapController.setCenter(point); // 设置地图中心点
mMapController.setZoom(12); // 设置地图zoom 级别
// 添加地图覆盖物
// MyLocationOverlay(this, mMapView);
mylocTest.enableMyLocation(); // 判断是否发现位置提供者
mylocTest.enableCompass(); // 打开指南针
mMapView.getOverlays().add(mylocTest);// 添加定位覆盖物
}
}
};
// 按钮添加监听器
button_location.setOnClickListener(locationListener);
mMapController.setCenter(point); // 设置地图中心点
mMapController.setZoom(12); // 设置地图zoom 级别
// 添加地图覆盖物
mylocTest = new MyLocationOverlay(this, mMapView);
mylocTest.enableMyLocation(); // 判断是否发现位置提供者
mylocTest.enableCompass(); // 打开指南针
mMapView.getOverlays().add(mylocTest);// 添加定位覆盖物
}
//另外一个添加界面覆盖物的类:

public class MyLocationOverlayProxy extends com.amap.mapapi.map.MyLocationOverlay{

private Location mLocation;
protected final Paint mPaint = new Paint();
protected final Paint mCirclePaint = new Paint();
private Bitmap gps_marker=null;
private Point mMapCoords = new Point();
private final float gps_marker_CENTER_X;
private final float gps_marker_CENTER_Y;
private final LinkedList<Runnable> mRunOnFirstFix = new LinkedList<Runnable>();
public MyLocationOverlayProxy(amap amap, MapView mMapView) {

super(amap, mMapView);
gps_marker = ((BitmapDrawable) amap.getResources().getDrawable(
R.drawable.marker_gpsvalid)).getBitmap();
gps_marker_CENTER_X = gps_marker.getWidth() / 2 - 0.5f;
gps_marker_CENTER_Y= gps_marker.getHeight() / 2 - 0.5f;
}

public boolean runOnFirstFix(final Runnable runnable) {
if (mLocation != null) {
new Thread(runnable).start();
return true;
} else {
mRunOnFirstFix.addLast(runnable);
return false;
}
}

public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
mLocation = location;
for(final Runnable runnable : mRunOnFirstFix) {
new Thread(runnable).start();
}
mRunOnFirstFix.clear();
super.onLocationChanged(location);
}

protected void drawMyLocation(Canvas canvas, MapView mapView, final Location mLocation,
GeoPoint point, long time) {
Projection pj=mapView.getProjection();
if (mLocation != null) {
mMapCoords=pj.toPixels(point, null);
final float radius = pj.metersToEquatorPixels(mLocation.getAccuracy());
this.mCirclePaint.setAntiAlias(true);
this.mCirclePaint.setARGB(35, 131, 182, 222);
this.mCirclePaint.setAlpha(50);
this.mCirclePaint.setStyle(Style.FILL);
canvas.drawCircle(mMapCoords.x, mMapCoords.y, radius, this.mCirclePaint);
this.mCirclePaint.setARGB(225, 131, 182, 222);
this.mCirclePaint.setAlpha(150);
this.mCirclePaint.setStyle(Style.STROKE);
canvas.drawCircle(mMapCoords.x, mMapCoords.y, radius, this.mCirclePaint);
canvas.drawBitmap(gps_marker, mMapCoords.x-gps_marker_CENTER_X, mMapCoords.y-gps_marker_CENTER_Y, this.mPaint);
}
}

}

安卓手机安装高德导航后无法正常显示地图

我的cm2.3.7也不行,应该是程序本身有问题

⑹ 安卓中高德地图定位成功之后,为什么地图依然显示在北京景山公园却不是我当前定位到的地方

定位后,再重新刷新一下地图
或者是重新启动一下
包括流量和定位开关都要开启
这样就会定位在你现在位置了
实在不行,重新启动手机

⑺ android 高德地图怎么将规划线路线显示出来

目前高德地图里自定义路线还不完善,现在只可以设置3个点。一个是起点,一个是途经点,还有一个是终点,我之前也是想设计自定义路线,发现设不设都无所谓,你怎么走系统都会为你规划到正确的路线上。你用高德地图走习惯了,他也有记忆功能,知道你平时喜欢走的路线,以后就会按你习惯的路线进行规划路线了。希望能帮到你。

热点内容
微信在安卓手机的哪个文件夹 发布:2025-01-21 18:43:52 浏览:51
sql127001 发布:2025-01-21 18:31:50 浏览:112
服务器ip是什么格式 发布:2025-01-21 18:13:13 浏览:706
oa和邮箱的初始密码在哪里改 发布:2025-01-21 18:08:46 浏览:52
如何去除pdf的加密 发布:2025-01-21 18:08:46 浏览:565
云端的服务器怎么设置ip 发布:2025-01-21 17:48:52 浏览:186
会议脚本 发布:2025-01-21 17:41:29 浏览:23
android的toast 发布:2025-01-21 17:41:28 浏览:9
linux默认安装的mysql 发布:2025-01-21 17:40:08 浏览:912
java输出数据库 发布:2025-01-21 17:35:38 浏览:963