Android开发速成简洁教程二十一:访问Internet绘制在线地图

移动开发 Android
在例子Android简明开发教程十七:Dialog 显示图像中我们留了一个例子DrawMap()没有实现,这个例子显示在线地图,目前大部分地图服务器都是将地图以图片存储以提高响应速度。 一般大小为256X256个像素。

在例子Android简明开发教程十七:Dialog 显示图像中我们留了一个例子DrawMap()没有实现,这个例子显示在线地图,目前大部分地图服务器都是将地图以图片存储以提高响应速度。 一般大小为256X256个像素。具体可以参见离线地图下载方法解析

比如: URL http://www.mapdigit.com/guidebeemap/maptile.php?type=MICROSOFTMAP&x=7&y=4&z=14 显示:

下面的例子访问Internet下载地图图片,并拼接成地图显示,这种方法也是引路蜂地图开发包实现的一个基本原则。

Android应用访问Internet,首先需要赋予应用有访问Internet的权限:在AndroidManifest.xml中添加:

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

然后实现DrawMap()如下:

  1. private void drawMap(){ 
  2.  try{     
  3.  graphics2D.clear(Color.WHITE); 
  4.  graphics2D.Reset(); 
  5.  for(int x=6;x<8;x++) 
  6.  { 
  7.  for(int y=3;y<5;y++){ 
  8.  String urlString="http://www.mapdigit.com/guidebeemap"
  9.  urlString+="/maptile.php?type=MICROSOFTMAP"
  10.  urlString+="&x="+x+"&y="+y+"&z=14"
  11.  URL url=new URL(urlString); 
  12.  URLConnection connection=url.openConnection(); 
  13.  HttpURLConnection httpConnection=(HttpURLConnection)connection; 
  14.  int responseCode=httpConnection.getResponseCode(); 
  15.  if(responseCode==HttpURLConnection.HTTP_OK){ 
  16.  InputStream stream=httpConnection.getInputStream(); 
  17.  Bitmap bitmap=BitmapFactory.decodeStream(stream); 
  18.  int []buffer=new int[bitmap.getHeight() 
  19.  * bitmap.getWidth()]; 
  20.  bitmap.getPixels(buffer, 0, bitmap.getWidth(), 00
  21.  bitmap.getWidth(), bitmap.getHeight()); 
  22.  graphics2D.drawImage(buffer,bitmap.getWidth(), 
  23.  bitmap.getHeight(),(x-6)*256,(y-3)*256);     
  24.  } 
  25.  } 
  26.  } 
  27.  graphic2dView.refreshCanvas();   
  28.  }catch(Exception e){     
  29.  } 

Android中访问Internet类主要定义在java.net.* 和android.net.*包中。上面显示结果如下:

地图没有显示满屏是因为Graphics2D创建的Canvas大小没有创建满屏,创建的大小是240X320,如果创建满屏的,则可以满屏显示地图。

责任编辑:闫佳明 来源: imobilebbs
相关推荐

2013-12-27 14:34:46

Android开发Android应用短信触发示例

2013-12-27 16:06:10

Android开发Android应用发布应用

2013-12-27 13:27:05

Android开发Android应用RadioButton

2013-12-27 15:31:26

Android开发Android应用资源Resources

2013-12-26 15:10:08

Android开发应用和框架Linux 内核

2013-12-26 17:08:36

Android开发Android应用自定义Adapter显

2013-12-26 15:43:07

Android开发Android应用Activities

2013-12-27 13:00:30

Android开发Android应用Context Men

2013-12-26 15:18:09

Android开发安装开发环境

2013-12-27 14:05:22

Android开发Android应用Dialog

2013-12-27 14:16:43

Android开发Android应用线程

2013-12-26 16:33:24

Android开发Android应用引路蜂二维图形绘制

2013-12-26 15:46:30

Android开发Android应用用户界面设计

2013-12-26 15:34:19

Android开发Android应用基本概念

2013-12-27 13:49:22

Android开发Android应用Button

2013-12-27 12:51:44

Android开发Android应用引路蜂

2013-12-26 16:59:12

Android开发Android应用数据绑定Data Bi

2013-12-26 16:24:13

Android开发Android应用Intents

2013-12-26 16:46:21

2013-12-27 14:10:36

Android开发Android应用Transform
点赞
收藏

51CTO技术栈公众号