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

Android使用Google Map API创建的一个根据经纬度定位的程序二

阅读更多

 

Color.xml 文件内容如下:

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

< resources >

  < drawable name = "darkgray" > #808080 </ drawable >

  < drawable name = "white" > #FFFFFF </ drawable >

  < drawable name = "blue" > #0000FF </ drawable >

</ resources >

String.xml 文件内容如下:

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

< resources >

  < string name = "hello" > Hello World, QueryMapLocation! </ string >

  < string name = "app_name" > QueryMapLocation </ string >

  < string name = "str_longitude" > 经度(Longitude) </ string >

  < string name = "str_latitude" > 纬度(Latitude) </ string >

  < string name = "str_button1" > 查询 </ string >

  < string name = "str_button2" > + </ string >

  < string name = "str_button3" > - </ string >

</ resources >

QueryMapLocation.java 文件的内容如下:

package org.yan;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import com.google.android.maps.GeoPoint;

import com.google.android.maps.MapActivity;

import com.google.android.maps.MapController;

import com.google.android.maps.MapView;

public class QueryMapLocation extends MapActivity {

          private MapController mMapController01;

          private MapView mMapView01;

          private Button mButton01,mButton02,mButton03;

          private EditText mEditText01;

          private EditText mEditText02;

          private int intZoomLevel=0;

          private double dLat=25.0402555;

          private double dLng=121.512377;

          @Override

          protected void onCreate(Bundle icicle)

          {

            super.onCreate(icicle);

            setContentView(R.layout.main);

            mMapView01 = (MapView)findViewById(R.id.myMapView1);

            mMapController01 = mMapView01.getController(); 

            mMapView01.setSatellite(false);

            mMapView01.setStreetView(true);

            intZoomLevel = 10;

            mMapController01.setZoom(intZoomLevel);

            refreshMapView();

            mEditText01 = (EditText)findViewById(R.id.myEdit1);

            mEditText02 = (EditText)findViewById(R.id.myEdit2);

            mButton01 = (Button)findViewById(R.id.myButton1);

            mButton01.setOnClickListener(new Button.OnClickListener()

            {

              @Override

              public void onClick(View v)

              {

              

                if(mEditText01.getText().toString().equals("")||

                   mEditText02.getText().toString().equals(""))

                {

                  showDialog(" 不能为空");

                }

                else

                {

                  dLng=Double.parseDouble(mEditText01.getText().toString());

                  dLat=Double.parseDouble(mEditText02.getText().toString());

                  refreshMapView();

                }

              }

            });  

            mButton02 = (Button)findViewById(R.id.myButton2);

            mButton02.setOnClickListener(new Button.OnClickListener()

            {

              @Override

              public void onClick(View v)

              {

                intZoomLevel++;

                if(intZoomLevel>mMapView01.getMaxZoomLevel())

                {

                  intZoomLevel = mMapView01.getMaxZoomLevel();

                }

                mMapController01.setZoom(intZoomLevel);

              }

            }); 

            mButton03 = (Button)findViewById(R.id.myButton3);

            mButton03.setOnClickListener(new Button.OnClickListener()

            {

              @Override

              public void onClick(View v)

              {

                intZoomLevel--;

                if(intZoomLevel<1)

                {

                  intZoomLevel = 1;

                }

                mMapController01.setZoom(intZoomLevel);

              }

            });

          } 

          public void refreshMapView()

          {

            GeoPoint p = new GeoPoint((int)(dLat* 1E6), (int)(dLng* 1E6));

            mMapView01.displayZoomControls(true);

          

            mMapController01.animateTo(p);

            mMapController01.setZoom(intZoomLevel);

          }

          

          @Override

          protected boolean isRouteDisplayed()

          {

            return false;

          }

          private void showDialog(String mess){

            new AlertDialog.Builder(QueryMapLocation.this).setTitle("Message")

            .setMessage(mess)

            .setNegativeButton(" 经度纬度请补全", new DialogInterface.OnClickListener()

            {

              public void onClick(DialogInterface dialog, int which)

              {

              }

            })

            .show();

          }

        }

 

还有一个重要的文件AndroidManifest.xml

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

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

      package = "org.yan"

      android:versionCode = "1"

      android:versionName = "1.0" >

    < application android:icon = "@drawable/icon" android:label = "@string/app_name" >

        < uses-library   android:name = "com.google.android.maps" />

        < activity android:name = ".QueryMapLocation"

                  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 >

< uses-sdk android:minSdkVersion = "4" />

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

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

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

</ manifest >

3 )运行该Android 项目,即可见到如下界面


输入经度纬度,即可定位到地图上

  • 大小: 121 KB
分享到:
评论

相关推荐

    Android使用Google Map API创建的根据经纬度定位的程序

    Android使用Google Map API创建的一个根据经纬度定位的程序. 交流QQ群:1279871

    android安卓绝对可以获取GPS经纬度的google map demo

    使用谷歌api,不需要网络,可以直接获取经纬度,获取经纬度写到一个类中,直接调用start,关闭使用stop。 注意要在室外使用! 打开应用,马上开始获取地址,多次点击 第一个按钮: 获取gps经纬度, 如果程序获取到...

    Android演示如何调用google map api 的方法.rar

    本实例主要演示Android调用google map api 的方法,根据地址获取对应经纬度,定义一个HttpClient用于向指定地址发送请求,向指定地址发送get请求,将服务器返回的字符串转换成JSONObject对象,从JSONObject中提取...

    android google map 导航

    2013年更新的google map api v2致使原来的很多类都不能使用了,本人经过研究和翻看api文档整理并写了这个程序,实现了了位置获取,通过地名获取经纬度,输入目的地进行导航路线获取,异步数据处理等功能

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    2.2 建立第一个Android项目(HelloAndroid!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 ...

    精心收集的android googlemap开发实例与教程

    精心收集的android googlemap开发实例与教程,调用gps定位,以及给定经纬度显示地图信息等示例代码

    Google Android SDK开发范例大全(第3版) 4/5

    2.2 创建第一个Android项目(Hello Android!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签 3.2 更改手机窗口画面底色 ...

    Google Android SDK开发范例大全(第3版) 3/5

    2.2 创建第一个Android项目(Hello Android!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签 3.2 更改手机窗口画面底色 ...

    Google Android SDK开发范例大全(第3版) 5/5

    2.2 创建第一个Android项目(Hello Android!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签 3.2 更改手机窗口画面底色 ...

    Android 定位系统(GPS)开发详解

    全球定位系统(Global Positioning System,GPS),是一个中距离圆型轨道卫星导航系统,可以为...以经纬度和半径规划一个区域,当设备进入给区域,发出提醒信息,还可以和Google Map API一起使用,完成更多的任务。 关

    World Map Globe Edition 2 V14.5

    使用此资源,用户可以选择世界的一个地区或目的地,显示数据/信息/资源图标,非常适合任务简报、战略游戏、地球HUD/目标/资源定位器。。。现在有了六边形网格,寻路和战争迷雾在世界地图上创建你的回合制或RTS游戏!...

    Google Android SDK开发范例大全(第3版) 1/5

    2.2 创建第一个Android项目(Hello Android!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签 3.2 更改手机窗口画面底色 ...

    Google Android SDK开发范例大全(第3版)part2

     2.2 创建第一个Android项目(Hello Android!)  2.3 Android应用程序架构——从此开始  2.4 可视化的界面开发工具  2.5 部署应用程序到Android手机  第3章 用户人机界面  3.1 更改与显示文字标签  3.2 ...

    LocationTracker:使用 Fused provider 和 GoogleMap 跟踪位置

    这主要处理两个方面,使用位置 API 不断获取用户位置并在 GoogleMap 中显示经纬度位置 有助于理解 使用融合提供程序的 Android 位置 谷歌地图 Android API v2 地图上的标记 融合位置提供者 简单的 API:让您指定...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    2.2 建立第一个Android项目(HelloAndroid!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 ...

    《Google Android SDK开发范例大全(第3版)》.pdf

    2.2 创建第一个android项目(hello android!) 11 2.3 android应用程序架构——从此开始 15 2.4 可视化的界面开发工具 18 2.5 部署应用程序到android手机 19 第3章 用户人机界面 22 3.1 更改与显示...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    2.2 建立第一个Android项目(HelloAndroid!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 ...

    Google Android SDK开发范例大全的目录

    2.2 建立第一个Android项目(HelloAndroid!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 ...

Global site tag (gtag.js) - Google Analytics