Android简明开发教程二十一:访问Internet 绘制在线地图
?
在例子Android簡(jiǎn)明開(kāi)發(fā)教程十七:Dialog 顯示圖像 中我們留了一個(gè)例子DrawMap()沒(méi)有實(shí)現(xiàn),這個(gè)例子顯示在線(xiàn)地圖,目前大部分地圖服務(wù)器都是將地圖以圖片存儲(chǔ)以提高響應(yīng)速度。 一般大小為256X256個(gè)像素。具體可以參見(jiàn)離線(xiàn)地圖下載方法解析 。
比如: URL http://www.mapdigit.com/guidebeemap/maptile.php?type=MICROSOFTMAP&x=7&y=4&z=14 顯示:
下面的例子訪(fǎng)問(wèn)Internet下載地圖圖片,并拼接成地圖顯示,這種方法也是引路蜂地圖開(kāi)發(fā)包實(shí)現(xiàn)的一個(gè)基本原則。
Android應(yīng)用訪(fǎng)問(wèn)Internet,首先需要賦予應(yīng)用有訪(fǎng)問(wèn)Internet的權(quán)限:在AndroidManifest.xml中添加:
<uses-permission android:name=”android.permission.INTERNET” />
然后實(shí)現(xiàn)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中訪(fǎng)問(wèn)Internet類(lèi)主要定義在java.net.* 和android.net.*包中。上面顯示結(jié)果如下:
地圖沒(méi)有顯示滿(mǎn)屏是因?yàn)镚raphics2D創(chuàng)建的Canvas大小沒(méi)有創(chuàng)建滿(mǎn)屏,創(chuàng)建的大小是240X320,如果創(chuàng)建滿(mǎn)屏的,則可以滿(mǎn)屏顯示地圖。
總結(jié)
以上是生活随笔為你收集整理的Android简明开发教程二十一:访问Internet 绘制在线地图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android格式化时间中文版,Andr
- 下一篇: 图片存储解决方案--阿里云OSS