Java代码package com.android.yibai.antking;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Point;
import android.location.Address;
import android.location.Geocoder;
import android.os.Bundle;
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.Overlay;
import com.google.android.maps.Projection;
public class GeocoderMain extends MapActivity{
//地图显示控制相关的变量定义
private MapView map = null;
private MapController mapCon;
private Geocoder geo;
private static final int ERROR_DIALOG=1;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
geo= new Geocoder(this,Locale.CHINA);
//获取MapView
map = (MapView)this.findViewById(R.id.mapview);
//设置显示模式
// map.setTraffic(false);
// map.setSatellite(true);
//map.setStreetView(true);
//设置可以缩放
map.setBuiltInZoomControls(true);
List addresses = null;
try{
addresses = geo.getFromLocationName("日照市万平口", 1);
}catch(Exception e){
e.printStackTrace();
}
if(addresses.size()==0){
showDialog(ERROR_DIALOG);
GeoPoint geoBeijing = new GeoPoint(
39906033,116397700);
mapCon = map.getController();
mapCon.setCenter(geoBeijing);
mapCon.setZoom(4);
}else{
Address address = (Address) addresses.get(0);
//设置初始地图的中心位置
GeoPoint geoPoint =new GeoPoint(
(int)(address.getLatitude()*1E6),
(int)(address.getLongitude()*1E6)
);
mapCon = map.getController();
mapCon.setCenter(geoPoint);
mapCon.setZoom(20);
List<Overlay> overlays = this.map.getOverlays();
PositionOverlay overlay = new PositionOverlay(geoPoint,this,R.drawable.icon);
overlays.add(overlay);
}
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
protected Dialog onCreateDialog(int id){
return new AlertDialog.Builder(this).setTitle("查询出错了")
.setMessage("地名出错,请从新输入").create();
}
class PositionOverlay extends Overlay{
private GeoPoint geoPoint;
private Context context;
private int drawable;
public PositionOverlay(GeoPoint geoPoint,Context context,int drawable){
super();
this.geoPoint = geoPoint;
this.context = context;
this.drawable = drawable;
}
public void draw(Canvas canvas,MapView mapView,boolean shadow){
Projection projection = mapView.getProjection();
Point point = new Point();
projection.toPixels(geoPoint, point);
Bitmap bitmap =BitmapFactory.decodeResource(context.getResources(), drawable);
canvas.drawBitmap(bitmap, (point.x-bitmap.getWidth()/2), (point.y-bitmap.getHeight()),new Paint());
super.draw(canvas, mapView, shadow);
}
}
}
分享到:
相关推荐
反向地址解析是地理信息系统(GIS)中的一个重要功能,主要用于通过已知的经纬度坐标来获取具体的地理位置信息。这一技术在许多领域都有着广泛的应用,例如物流配送、导航系统、位置服务等。Google地图提供了强大的...
在IT行业中,尤其是在Web开发领域,常常需要利用地图服务来获取和展示地理位置信息。Google Maps API 是一个广泛使用的工具,它允许开发者通过JavaScript或者其他的编程语言与Google Maps进行交互,实现各种功能,如...
总的来说,"C#调用高德、百度及Google地图api解析经纬度及路径计算、位置标注源码"这个主题涵盖了跨平台的地图API使用,包括但不限于HTTP请求、JSON解析、地理编码、路径规划等核心功能。对于想要在C#项目中集成地图...
通过这个示例,我们可以学习如何使用Google地图JavaScript API进行地址解析,并在地图上显示结果。开发者可以根据需求进一步扩展,例如处理多个地址、添加事件监听器或实现更复杂的交互功能。同时,需要注意的是,...
首先,我们需要理解客户端(安卓手机)如何获取和处理地理位置信息,然后是如何通过网络通信将这些信息发送到服务端,最后是服务端如何接收并解析这些数据,以及如何在地图上实时展示。 1. **安卓客户端地理定位**...
#### 2.3 使用Google Maps API进行逆地理位置解析 通过Google Maps API,开发者可以轻松地实现经纬度到地址的转换。例如,要查询纬度为32.043004727893994,经度为118.7677001953125的位置信息,可以使用以下URL: `...
通过这些API,开发者可以轻松地将地理位置服务集成到自己的应用程序中,为用户提供丰富的地理信息体验。 #### 二、谷歌代码主页与注册流程 ##### 2.1 谷歌代码主页 谷歌代码主页是谷歌为开发者提供的一个平台,...
2. 地名搜索:当用户输入地名并提交后,程序会发送请求到谷歌地图的Geocoding API,检索相应的地理位置信息。 3. 结果解析:API返回的数据包含地名的经纬度,程序会解析这些数据。 4. 显示地图:根据获取的经纬度,...
"地理解析"是指将地址或者坐标转换为地理位置信息的过程,这对于定位、导航、位置服务等应用至关重要。"dll"(动态链接库)是Windows系统中的一个共享代码库,多个程序可以同时使用一个dll中的函数,从而节省内存...
在本项目中,我们关注的是如何利用Google Map API来解析并获取中国大陆4095个省市县的默认地理位置坐标。这是一项涉及网络编程、JavaScript以及GIS技术的任务。 首先,Google Map API是Google提供的一种服务,允许...
5. **通信与交互**:为了使VC++应用能够与Webview中的地图进行交互,例如获取用户点击的地理位置,你需要实现JavaScript和C++之间的通信。这可以通过使用`IWebBrowser2::ExecWB()`方法实现ActiveX对象的命令,或者...
开发者首先通过PHP获取和解析IP,然后将得到的地理位置信息映射到谷歌地图上,提供直观的可视化展示。这样的技术在许多网站和服务中都有应用,例如追踪用户来源、定位服务、或者基于位置的推荐系统等。
5. 如果需要在地图上显示位置,集成Google Maps SDK,并创建地图Fragment或Activity,将地理位置信息作为标记添加到地图上。 6. 当上拉刷新触发时,更新JSON请求,获取新数据,并刷新列表或地图上的位置信息。 确保...
在IT行业中,地理信息系统(GIS)是处理地理位置信息的关键技术,而KML(Keyhole Markup Language)文件则是其中一种常用的数据格式,尤其在谷歌地球、高德地图和百度地图等平台中广泛使用。本篇文章将深入探讨流域...
而易语言Google地图生成工具则是利用易语言的强大功能,为开发者提供了一个便捷的平台,用于生成Google地图的图像,并对地址信息进行解析和处理。 二、核心功能 1. 地图生成:该工具能够根据输入的地理位置信息,...
1. **Unity API与谷歌地图API的交互**:开发者需要熟悉Unity的网络请求和JSON解析机制,以获取和处理来自谷歌地图服务器的地图数据。 2. **地理坐标系统(GPS)**:理解经纬度坐标系统,以便将现实世界的地理位置...
4. **界面展示**:将获取到的地理位置信息在易语言的用户界面上展示出来,这可能涉及到控件的操作和布局设计,比如使用标签控件显示城市名,地图控件展示具体位置。 5. **错误处理**:考虑到可能出现的网络问题、IP...
getGeocoderLatitude 根据地址获取到经纬度 getAboutLocation 根据经纬度获取到所在城市信息 bd_encrypt 将 GCJ-02 坐标转换成 BD-09 坐标 bd_decrypt 将 BD-09 坐标转换成 GCJ-02 坐标
在Android开发中,集成Google地图API并解析其返回的JSON数据是常见的需求。这涉及到对Android SDK、网络请求、JSON解析以及Google Maps API的理解。以下将详细阐述如何在Android应用中实现这一功能。 首先,我们...
1. Google Maps API:Google提供了丰富的地图API,允许开发者在网页或应用程序中嵌入地图、获取地理位置信息、进行路线规划等功能。这里可能使用了JavaScript API或静态地图API来获取地图图片。 2. 图像处理:地图...