`
lyunabc
  • 浏览: 551788 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

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

 
阅读更多

在例子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,如果创建满屏的,则可以满屏显示地图。

分享到:
评论

相关推荐

    Android OpenGL ES 简明开发教程四:3D 坐标变换

    在Android平台进行3D图形开发时,OpenGL ES(Open Graphics Library for Embedded Systems)是一项关键的技术。它允许开发者在移动设备上创建复杂的3D图形和动画。在OpenGL ES的环境中,3D坐标变换是构建和操作3D...

    Android OpenGL ES 简明开发教程

    ### Android OpenGL ES 开发教程详解 #### 概述与历史沿革 OpenGL ES(OpenGL for Embedded Systems)作为OpenGL API的子集,专为移动设备、PDA和游戏主机等嵌入式系统设计,旨在简化3D图形应用的开发流程。自2003...

    android开发教程CHM

    《Android开发教程CHM》是一本专为Android开发者设计的详尽指南,旨在帮助初学者和有经验的开发者深入理解Android平台的各个方面。这个CHM(Microsoft Compiled HTML Help)文件包含了大量的信息,使得学习和查阅...

    Android 开发 简明教程 中文版

    【Android开发简明教程中文版】是一份专为初学者设计的详细教程,旨在帮助学习者快速掌握Android应用开发的基本技能。这份资料由经验丰富的教师编写,内容全面且深入浅出,适合对移动开发感兴趣的开发者或者在校学生...

    Android简明开发教程二十四篇及示例代码下载.pdf

    《Android简明开发教程》是一份详尽的指南,旨在帮助初学者和有经验的开发者快速掌握Android应用开发。这份教程共分为二十四篇,涵盖了Android开发的基础到高级主题,包括安装Android SDK、创建第一个应用程序、理解...

    Android OpenGL ES 简明开发教程相关源码真正的3D图形

    Android OpenGL ES 简明开发真正的3D图 Android平台提供的OpenGL ES API主要定义在包android.opengl ,javax.microedition.khronos.egl ,javax.microedition.khronos.opengles ,java.nio 等几个包中

    Android OpenGL ES 简明开发教程相关源码添加颜色

    Android OpenGL ES 简明开发教程相关源码添加颜色 简单的上色方法叫做顶点着色(Vertxt coloring),可以使用单色,也可以定义颜色渐变或者使用材质(类同于二维图形中各种Brush类型)。

    Android_OpenGL_ES_简明开发教程

    这个简明开发教程主要参考了Jayway Team Blog中关于OpenGL ES开发的教程,该教程比较通俗易懂,非常适合OpenGL ES的初学者。教程主要通过示例和步骤讲解,旨在帮助没有3D开发经验的程序员快速入门。并且,由于很多...

    Android OpenGL ES 简明开发教程相关源码材质渲染

    这个“Android OpenGL ES 简明开发教程相关源码材质渲染”旨在教授如何在Android应用中利用OpenGL ES进行材质渲染,从而创建出丰富的视觉效果。 材质渲染是OpenGL ES中的关键概念,它涉及到物体表面的外观属性,如...

    GDB简明教程 作者:张健

    《GDB简明教程》由张健撰写,主要聚焦于UNIX环境下的一款强大的C/C++调试工具——GDB。GDB,全称为GNU调试器(GNU Debugger),是GNU项目中的一个核心组件,它为程序员提供了全面的功能,以帮助他们在源代码级别上对...

    JAVA大学简明教程:实例程序设计.pdf

    JAVA大学简明教程:实例程序设计.pdf

    Web前端开发简明教程.pdf

    Web前端开发简明教程.pdf

    AndroidAPP开发入门教程.pdf

    本教程主要介绍了Android APP开发的基本步骤,从SDK下载、开发环境搭建、代码编写、APP打包等步骤一一讲解,为读者提供了一个简明的Android APP开发入门教程。 一、准备工作 在开始Android APP开发之前,需要准备...

    模拟电子技术基础简明教程课件:第十章 直流电源.ppt

    模拟电子技术基础简明教程课件:第十章 直流电源.ppt

    Java大学简明教程:实例程序设计.rar

    《Java大学简明教程:实例程序设计》是一本面向初学者和在校大学生的Java编程教材。这本书通过丰富的实例,深入浅出地介绍了Java语言的基础知识和应用技巧,旨在帮助读者快速掌握Java编程技能。 首先,从"Java简明...

    Python初学教程:《简明Python教程》

    ### Python初学教程:《简明Python教程》 #### 知识点概述: 根据所提供的《简明Python教程》部分信息,我们可以归纳出一系列重要的Python基础知识和技术要点,这些内容非常适合Python初学者作为入门指南。 #### ...

    模拟电子技术基础简明教程课件:第一章 半导体器件.ppt

    模拟电子技术基础简明教程课件:第一章 半导体器件.ppt

    大学法语简明教程:辅导手册

    大学法语简明教程:辅导手册 法语大学简明教程的答案,非常完全

Global site tag (gtag.js) - Google Analytics