`
xihuan&java
  • 浏览: 161637 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android 地图

阅读更多
http://vip.du8.com/books/sepc0xy.shtml#

在做android地图时要引用google APIs,同时还要申请API Key
申请android google map API key
转自:http://www.cnblogs.com/alex77lee/archive/2010/05/21/1789924.html
1.首先要得到你的debug keystore位置:
打开Eclipse--->Windows--->Preferences--->Android--->Build
查看默认的debug keystore位置,例如:C:\Documents and Settings\(你电脑的名字)\.android\debug.keystore


2.在cmd中执行:   (可以先定位到jdk的bin目录下)
keytool  -list  -alias androiddebugkey  -keystore  " C:\Documents and Settings\MYNAME\.android\debug.keystore "  -storepass android  -keypass android
双引号中的为你keystore位置, (一定要有双引号),否则就会报错。
如果系统提示找不到keytool,需要将jdk中bin目录加入到环境变量中
执行结果:
androiddebugkey, 2009-10-04, PrivateKeyEntry,
指纹认证<MD5>: XX:XX:XX:XX:XX:XX:XX:XX.............
这里的XX:XX:XX:XX:XX:XX:XX:XX.............就是你的认证指纹

3.打开http://code.google.com/intl/zh-CN/android/maps-api-signup.html
填入你的认证指纹(MD5)即可获得apiKey了,结果显示如下:
感谢您注册 Android 地图 API 密钥!
您的密钥是:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
我IE打开的时候是乱码,不知道是不是自己电脑有问题。后来改用了chrome就正常显示了。


4.使用得到的apiKey:
在layout中加入MapView
搞定~
下面是主要代码(来自eoeandroid一位朋友的代码)
package com.wbtech.CurrentLocationWithMap;

import java.util.List;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.MyLocationOverlay;
import com.google.android.maps.Overlay;
//import com.wbtech.CurrentLocation.R;


import android.app.Activity;
import android.content.Context;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.TextView;
import android.widget.ToggleButton;

public class CurrentLocationWithMap extends MapActivity {
    protected Location location;
    MapView map;
	private MyLocationOverlay myLocation;
	MapController controller;
	MapController ctrlMap;
	Button inBtn;
	Button outBtn;
	ToggleButton switchMap;
	
	/** Called when the activity is first created. */
    @Override
    protected boolean isRouteDisplayed(){
    	return false;
    }
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        LocationManager locationManager;
        String seviceName = Context.LOCATION_SERVICE;
        locationManager = (LocationManager)getSystemService(seviceName);
        
        
        Criteria criteria = new Criteria();
        criteria.setAccuracy(Criteria.ACCURACY_FINE);
        criteria.setAltitudeRequired(false);
        criteria.setBearingRequired(false);
        criteria.setCostAllowed(true);
        criteria.setPowerRequirement(Criteria.POWER_LOW);
        

        
        String provider = locationManager.getBestProvider(criteria,true);
        Location location = locationManager.getLastKnownLocation(provider);
        updateWithNewLocation(location);
        

        
        locationManager.requestLocationUpdates(provider, 2000, 10, locationListener);
        
        map = (MapView)findViewById(R.id.myMapView);
        List<Overlay>overlays = map.getOverlays();
        myLocation = new MyLocationOverlay(this,map);
         controller = map.getController();
        myLocation.enableMyLocation();
        map.getOverlays().add(myLocation);
        
        ctrlMap = map.getController();
        inBtn = (Button)findViewById(R.id.in);
        outBtn = (Button)findViewById(R.id.out);
        OnClickListener listener = new OnClickListener(){
        
        	public void onClick(View v){
        		switch (v.getId()){
        		case R.id.in:
        			ctrlMap.zoomIn();
        			break;
        		case R.id.out:
        			ctrlMap.zoomOut();
        		default:
        			break;
        		}
        	}
        };
        inBtn.setOnClickListener(listener);
        outBtn.setOnClickListener(listener);
        
        switchMap = (ToggleButton)findViewById(R.id.switchMap);
        switchMap.setOnCheckedChangeListener(new OnCheckedChangeListener(){
        
        	public void onCheckedChanged(CompoundButton cBtn,boolean isChecked){
        		if (isChecked == true){
        			map.setSatellite(true);
        		} else {
                   
    			map.setSatellite(false);
    			map.setStreetView(true);
        		}
        	}
        });
        
    }

    private final LocationListener locationListener = new LocationListener(){
    	public void onLocationChanged(String provider){
    		updateWithNewLocation(location);
    	}
    	public void onProviderDisabled(String provider){
    		updateWithNewLocation(null);
    	}
    	public void onProviderEnavled(String probider){
    		
    	}
    	public void onStatusChanged(String provider,int status,Bundle extras){}
	
		public void onLocationChanged(Location location) {
			// TODO Auto-generated method stub
			
		}
	
		public void onProviderEnabled(String provider) {
			// TODO Auto-generated method stub
			
		}
    };
    
	private void updateWithNewLocation(Location location) {
		// TODO Auto-generated method stub
		String latLongString;
		TextView myLocationText;
		myLocationText = (TextView)findViewById(R.id.myLocationText);
		if (location != null){
			double lat = location.getLatitude();
			double lng = location.getLongitude();
			latLongString = "纬度:" + lat +"\n经度" + lng;
			
		//	ctrlMap.animateTo(new GeoPoint((int)(lat*1E6),(int)(lng*1E6)));
			
		}else {
			latLongString = "无法获取地理信息";
		}
		myLocationText.setText("您当前的位置是:\n" + latLongString);
	}
}

页面:
<com.google.android.maps.MapView
         android:clickable="true"
         android:id="@+id/myMapView"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
         android:apiKey="06u0_ZgwSFsxDdaR8ITGA_CwRA8_FhsoYNUmTAg"
                 />
分享到:
评论

相关推荐

    Android地图APP全项目

    【Android地图APP全项目】是一个基于Android Studio 2.2.3开发的项目,目标是构建一个能够实时显示和操作地图的应用程序。该应用利用了API级别26的功能,这通常意味着它支持Android 8.0(Oreo)及其以上版本的设备。...

    Android地图搜索应用——美食天下 源码

    在本项目中,我们关注的是一个名为“美食天下”的Android地图搜索应用的源码分析。这个实例主要展示了如何在Android平台上结合地理位置服务(LBS,Location-Based Services)开发一款实用的应用程序。源码的分享旨在...

    android 地图实例

    本文将深入探讨“Android地图实例”的相关知识点,帮助初学者快速理解和掌握如何在Android应用中集成和使用地图。 首先,我们需要了解Android地图API的基础知识。Android提供了Google Maps API,它是Google为开发者...

    android 地图相关源码

    这些源码提供了深入了解和学习Android地图开发的机会。以下将详细介绍标题和描述中提到的几个关键知识点: 1. **Android地图API**: - **百度地图API**:百度地图提供了全面的SDK,包括地图展示、定位、路线规划等...

    Android 地图

    首先,我们需要理解Android地图的基本概念。Android系统提供了一个Google Maps API,允许开发者在应用程序中集成Google地图。然而,本项目主要关注的是百度地图API,它提供了类似的功能,但更适合中国用户,因为其在...

    Android地图定位与总结

    本文将深入探讨Android地图定位的关键知识点,并基于提供的资料进行总结。 首先,Android地图定位涉及到的主要技术框架是Google Maps API。Google Maps API为开发者提供了在Android应用中集成地图、获取用户位置、...

    Android地图demo

    【Android地图Demo详解】 在移动应用开发中,地图是一个常用且重要的组件,尤其在Android平台上。这个"Android地图Demo"是专为初学者设计的,它涵盖了基础的地图展示、自动定位以及搜索功能,旨在帮助开发者快速...

    Android地图应用客户端

    以下是对"Android地图应用客户端"这一主题的详细解读: 1. **Android SDK**:Android SDK是开发者构建Android应用的基础工具集,包含了编译、调试和部署应用所需的组件。在开发地图应用时,我们需要集成SDK,并设置...

    android地图demo

    这个“android地图demo”是专为Android 4.3及以上版本设计的,它提供了基础的定位功能以及周边服务搜索,如查找附近的酒店。接下来我们将深入探讨这个demo中涉及的关键知识点。 1. **Google Maps API集成**: - ...

    Android地图开发

    Android地图开发主要涉及Google Maps API,它提供了丰富的功能,让开发者能够集成地图、定位、导航等功能到移动应用中。以下是一些关于Android地图开发的核心知识点: 1. **集成Google Maps API**:首先,开发者...

    利用百度地图API制作android地图应用

    本文将深入探讨如何利用百度地图API来制作Android地图应用,以及实现地图上的位置搜索和周边信息显示。 首先,我们需要在百度地图开放平台(http://lbsyun.baidu.com/)注册账号并获取API密钥,这是使用百度地图...

    Android地图应用示例

    这个“Android地图应用示例”是开发者学习和理解如何在Android环境中集成和使用地图API的一个理想起点。这里我们将深入探讨相关知识点。 首先,Android地图应用的核心是Google Maps Android API,它允许开发者在...

    android 地图开发之聚合,定位

    本篇文章将深入探讨如何进行Android地图开发中的聚合与定位功能,以高德地图API为例,阐述其实现原理,并提供相关的编程技巧。 首先,我们要了解地图聚合的基本概念。地图聚合是指在地图上同时显示大量数据点,例如...

    Android 地图 SDK v5.1.0 xamarin的DLL

    Android 地图 SDK v5.1.0 xamarin的DLL,解决了PoiSearch几个搜索类的缺失

    android地图定位到指定坐标

    本项目实现了“android地图定位到指定坐标”,使用了百度地图API,允许用户手动将地图中心点移动到特定地理位置。 首先,要实现地图功能,我们需要在AndroidManifest.xml文件中添加必要的权限,包括访问网络、读取...

    android地图百度地图开发包

    本篇将详细讲解如何在Android项目中集成并使用"android地图百度地图开发包",以便实现各种地图相关的功能。 首先,从标题"android地图百度地图开发包"我们可以知道,这是一个针对Android平台的百度地图开发工具包,...

    Android 地图的移动

    本文将深入探讨如何实现Android地图的移动,并提供一个名为"makeMap"的示例项目来辅助理解。 首先,我们需要了解Android地图移动的基本原理。通常,地图移动涉及到两个主要组件:地图视图和用户交互。地图视图是...

    android地图

    首先,我们要了解Android地图开发的基础。Android SDK提供了Google Maps Android API,允许开发者在应用程序中嵌入交互式地图。然而,本题目提到的是百度地图,因此我们需要使用百度地图SDK。百度地图SDK提供了丰富...

    Android地图搜索,大头针坠落动画效果,圆环动画效果

    总结起来,Android地图搜索中的大头针坠落和圆环动画效果是提升用户体验的关键元素。它们结合了自定义View、动画库和`MapView`的使用,为地图应用增加了视觉吸引力。通过深入学习和实践,开发者可以创建出更多样化的...

    iMoblie for android 地图鹰眼

    《iMoblie for android 地图鹰眼技术详解》 在现代智能手机应用中,地图功能已经成为不可或缺的一部分,尤其是在导航和位置服务领域。iMoblie for android 提供的地图鹰眼功能,为用户带来了全新的视觉体验和操作...

Global site tag (gtag.js) - Google Analytics