在例子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中添加:
然后实现DrawMap()如下:
- 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,如果创建满屏的,则可以满屏显示地图。
                新闻名称:Android开发速成简洁教程二十一:访问Internet绘制在线地图
                
                文章网址:http://www.csdahua.cn/qtweb/news5/369655.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网