在例子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中添加:

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

然后实现DrawMap()如下:

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

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

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

更多相关文章

  1. [android UI]应用程序自适应屏幕大小
  2. [Android] Android自定义对话框(Dialog)位置,大小
  3. android 实时获取 麦克风 音量大小
  4. 如何运用百度地图SDK进行开发(一)初级篇
  5. Android编程心得分享――JSON学习过程
  6. Android对象序列化(Activity之间传递对象,Parcelable小例子)
  7. 设置Activity大小不再全屏原理
  8. 编程总结:Android(安卓)读写文件
  9. Android中的定位Demo

随机推荐

  1. 【Android】Android(安卓)Studio实战快速
  2. Android(安卓)ListView拖动时背景变黑的
  3. 在eclipse上开发Android应用程序
  4. NDK开发历程(一):android native code的调试
  5. ANDROID音频系统散记之一:A2dpAudioInterf
  6. Android(安卓)UI开发专题(一) 之界面设计
  7. Android单元测试之Testing和Instrumentat
  8. Android之消息推送实现
  9. Android基础笔记(三)-数据存储和界面展现
  10. Android开发者已经度过了初级吗