- 浏览: 48197 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
d19890415:
[i][/i]引用[*][img][/img][url][/u ...
ImageView ScaleType 属性值的意义 -
j67065:
还是谢谢!我知道怎么用了,就是对那个颜色的解析函数的返回式子的 ...
android 调色板小练习 -
蓝月儿:
<div class="quote_title ...
android 调色板小练习 -
j67065:
有点看不懂
android 调色板小练习 -
abin103:
如何解决的啊?
再向模拟器上添加MP4文件时出现的问题
今天练习了一下地图的编程,继承MapActivity类和Overlay类
在配置文件中添加
在Activity的OnCreate方法中设置MapView的各个属性。是否可以获得单击事件(setClickable()方法),设置地图缩放尺度(setBuiltInZoomControls(true)),设置地图的视图模式。有三种:1.街道视图2。卫星视图3。一般地图。方法分别是mapview.setStreetView();mapview.setSatelite();mapview.setTraffic()
对地图的操作是通过对一个MapController对象的操作,该对象是通过MapView.getController()方法获取的。在使地图显示某一个地点时,则是MapController.animateTo()方法,参数是一个GeoPoint类型,经度和维度的一个组合。个人感觉类似于坐标值,并且可以通过MapController.setZoom来设置放大的倍数,其中数值越大,地图的详细细节????。GeoCoder类是处理地理编码的一个类,根据输入的地点可以获取一个和此地点相关的Address类的集合。
List<Address> addresses=geoCodeer.getFromLLocationName();方法,参数有两个,一个是输入的地点,另一个是获取的地点的个数(集合的大小?)。
也可为地图设置一个图标图层,通过继承OverLay类。在此类中重写draw()方法。canvas paint 画图的“工具”,canvas.drawBitmap();canvas.drawText();.左上坐标,根据映射将地理经纬度转换的屏幕像素坐标来确定。不要忘记把你创建的图层通过map.getOverlay()(获取一个图层集合)的add方法添加到地图上。
最后不要忘了在列表中添加访问intnet的权限(<uses-permission android:name="android:permission.Internet"/>),并且为应用添加类库(<uses-library android:name="com.google.android.maps"/>),否则地图不会出来的。
例子代码1(提供用户输入查询地点的activity):
例子代码2(显示地图的MapActivity):
配置文件1:
配置文件2:
列表为:
只是同一个程序结果在1.5的上面和在2.2的上面的运行结果不一样,
原因还没找到。
在配置文件中添加
<com.google.android.maps.MapView android:id="@+id/mapview_mymap_display" android:layout_width="fill_parent" android:layout_height="fill_parent" android:apiKey="0NFa8R5kt6KmenQdcxhItm2rcaSZaNhOe3WZQTw" />
在Activity的OnCreate方法中设置MapView的各个属性。是否可以获得单击事件(setClickable()方法),设置地图缩放尺度(setBuiltInZoomControls(true)),设置地图的视图模式。有三种:1.街道视图2。卫星视图3。一般地图。方法分别是mapview.setStreetView();mapview.setSatelite();mapview.setTraffic()
对地图的操作是通过对一个MapController对象的操作,该对象是通过MapView.getController()方法获取的。在使地图显示某一个地点时,则是MapController.animateTo()方法,参数是一个GeoPoint类型,经度和维度的一个组合。个人感觉类似于坐标值,并且可以通过MapController.setZoom来设置放大的倍数,其中数值越大,地图的详细细节????。GeoCoder类是处理地理编码的一个类,根据输入的地点可以获取一个和此地点相关的Address类的集合。
List<Address> addresses=geoCodeer.getFromLLocationName();方法,参数有两个,一个是输入的地点,另一个是获取的地点的个数(集合的大小?)。
也可为地图设置一个图标图层,通过继承OverLay类。在此类中重写draw()方法。canvas paint 画图的“工具”,canvas.drawBitmap();canvas.drawText();.左上坐标,根据映射将地理经纬度转换的屏幕像素坐标来确定。不要忘记把你创建的图层通过map.getOverlay()(获取一个图层集合)的add方法添加到地图上。
最后不要忘了在列表中添加访问intnet的权限(<uses-permission android:name="android:permission.Internet"/>),并且为应用添加类库(<uses-library android:name="com.google.android.maps"/>),否则地图不会出来的。
例子代码1(提供用户输入查询地点的activity):
package com.sdut.edu.zlm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; public class Map extends Activity { EditText etinput; Button btquery; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findViews(); setListeners(); } private void setListeners() { // TODO Auto-generated method stub btquery.setOnClickListener(query); } private void findViews() { // TODO Auto-generated method stub etinput=(EditText)findViewById(R.id.edittext_main_inputaddress); btquery=(Button)findViewById(R.id.button_main_query); } Button.OnClickListener query=new Button.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Bundle bundle=new Bundle(); Log.d("Map_query",etinput.getText().toString()); bundle.putString("address",etinput.getText().toString()); Intent intent=new Intent(); intent.setClass(Map.this,MyMap.class); intent.putExtras(bundle); startActivity(intent); } }; }
例子代码2(显示地图的MapActivity):
package com.sdut.edu.zlm; import java.util.List; import java.util.Locale; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Point; import android.location.Address; import android.location.Geocoder; import android.os.Bundle; import android.util.Log; import com.google.android.maps.GeoPoint; import com.google.android.maps.MapActivity; import com.google.android.maps.MapController; import com.google.android.maps.MapView; import com.google.android.maps.Overlay; public class MyMap extends MapActivity{//程序列表中要添加联网的权限还要加一个类库 MapView mapview; private MapController mapcontroller; private GeoPoint geopoint; protected String addressname; protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.mymap); //用于显示地图上的一个ViewGroup mapview=(MapView)findViewById(R.id.mapview_mymap_display); Bundle bundle=getIntent().getExtras(); Log.d("MyMap_Oncreate_bundle",bundle+""); addressname=bundle.getString("address"); Log.d("MyMap_oncreate",addressname); // findViews(); //使得这个view可以获得点击事件 mapview.setClickable(true); //是否可以设置自动缩放设置 mapview.setBuiltInZoomControls(true); //获取控制缩放的操作对象 mapcontroller=mapview.getController(); //通过系统默认区域设置进行地图的定位 Geocoder geocoder=new Geocoder(this); mapview.setTraffic(true); try { List<Address> addresses=geocoder.getFromLocationName(addressname,2); Log.d("MyMap_oncreate_addressname3",addressname); geopoint = new GeoPoint( (int) (addresses.get(0).getLatitude() * 1E6), (int) (addresses.get(0).getLongitude() * 1E6)); MyOverlay myoverlay=new MyOverlay(); mapview.getOverlays().add(myoverlay); mapcontroller.setZoom(20); mapcontroller.animateTo(geopoint); } catch(Exception e) { e.printStackTrace(); } } @Override protected boolean isRouteDisplayed() { // TODO Auto-generated method stub return false; } class MyOverlay extends Overlay { @Override public boolean draw(Canvas canvas, MapView mapview, boolean shadow, long when) { // TODO Auto-generated method stub Paint paint=new Paint(); Point screenPoint=new Point(); mapview.getProjection().toPixels(geopoint, screenPoint);//??经纬度坐标和屏幕像素坐标的一个映射 //并且这个映射可以把地理上的经纬度转换在屏幕上的像素点 Bitmap bitmap=BitmapFactory.decodeResource(getResources(),R.drawable.flag1); canvas.drawBitmap(bitmap,screenPoint.x,screenPoint.y, paint); canvas.drawText(addressname,screenPoint.x,screenPoint.y, paint); return super.draw(canvas, mapview, shadow, when); } } }
配置文件1:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <EditText android:id="@+id/edittext_main_inputaddress" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="西直门"></EditText> <Button android:text="查询" android:id="@+id/button_main_query" android:layout_width="fill_parent" android:layout_height="wrap_content"></Button> </LinearLayout>
配置文件2:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <com.google.android.maps.MapView android:id="@+id/mapview_mymap_display" android:layout_width="fill_parent" android:layout_height="fill_parent" android:apiKey="0NFa8R5kt6KmenQdcxhItm2rcaSZaNhOe3WZQTw" /> </LinearLayout>
列表为:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.sdut.edu.zlm" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <uses-library android:name="com.google.android.maps"/> <activity android:name=".Map" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MyMap"/> </application> <uses-sdk android:minSdkVersion="3" /> <uses-permission android:name="android.perssion.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.INTERNET" /> </manifest>
只是同一个程序结果在1.5的上面和在2.2的上面的运行结果不一样,
原因还没找到。
发表评论
-
android 应用的安装过程
2014-02-24 11:02 1187转载自 [url] http://blog.csd ... -
androidUI优化
2014-02-24 10:59 653很多时候,我们不想用android系统默认的风格或者属性,我们 ... -
android数据单位dp,px和sp
2014-02-24 10:55 1785Android中dip, dp, px, sp之间的区别 ... -
android获取IMEI号码 手机版本信息
2012-12-11 12:40 1876转自 http://www.cnblogs.com/luxia ... -
android 图片的缩放
2012-12-11 12:30 771//获得Bitmap的高和宽 in ... -
ImageView ScaleType 属性值的意义
2012-12-11 12:28 1030http://www.cnblogs.com/llm-andr ... -
android 国际化 转自http://xiaobingandxiaoer.iteye.com/blog/1218411
2012-12-07 14:18 915android国际化 博客分类 ... -
android的回调机制(转自http://www.cnblogs.com/vtianyun/archive/2012/06/19/2555427.html)
2012-11-19 16:37 922一、回调函数 回 ... -
android graphic.paint 类的方法笔记
2011-05-19 16:13 0http://codinglu.blog.163.com/bl ... -
android 调色板小练习
2011-05-19 16:08 3629在开发中一个供取色的 ... -
启动其他的程序
2011-05-17 17:28 1410在一个自己的应用启动另外的程序。 首先要知道要启动的目的程序的 ... -
android工程下的文件资源类型(转载)
2011-05-09 17:00 1089原始地址:http://geniusvic.blog.hexu ... -
调用系统的应用程序信息程序,查看应用程序信息
2011-04-29 13:41 1301有的时候调用系统的东西比我们自己定义布局美观的多,使用起来 ... -
android:MIME 参考手册[转]
2011-04-20 16:38 1151转自:http://blog.sina.com.cn/s/bl ... -
content provider
2011-04-14 15:37 763引用 Android Content Providerandr ... -
popupwindow练习
2011-03-31 15:22 4022今天查资源练习了这个的使用,对于焦点问题,整的脑袋有点大,不知 ... -
Android PreferenceActivity 使用练习
2011-03-17 16:01 1391源代码转自:http://blog.csdn.net/ichl ... -
startActivityForResult intent 跳转相关的
2011-03-17 15:46 1299今天见到两个方法:startActivityForResult ... -
ToggleButton的使用有感
2011-02-24 13:42 3891今天用到ToggleButton开关按钮,由于给他设置错了监听 ... -
再向模拟器上添加MP4文件时出现的问题
2011-01-19 13:45 2264再向模拟器上添加MP4格式文件时目前主要出现了三个问题 1、F ...
相关推荐
高考热点——竖版世界地图练习及答案解析.docx
地球及地图练习试题汇总.doc
高考地理复习地球与地图练习.doc
2016高考地理二轮复习专题一地球仪与地图练习
2019版高考地理一轮复习第1部分自然地理第1章地球与地图第二讲地图练习新人教版201806133240
湘教版地理七年级下册带地图练习复习资料全.doc
2020高考地理二轮复习技能一地理图表突破专项5区域地图练习
人教版七年级地理上册第一章地球和地图练习题.pdf
2016秋七年级科学上册3.2地球仪和地图练习题2浙教版.doc
2021版高考地理大一轮复习第一单元从宇宙看地球1.1地球与地图练习鲁教版202005090237
空白地图填图练习.doc
ArcGIS画图基准练习图,格式jpeg,附校正坐标
真三最近ai地图,添加的多种技能,英雄更强大
真三国无双AI地图,蓝宝石,练习
河南省淮阳县西城中学七年级地理上册1.3地图练习题无答案中图版
【优化指导】2013高中地理总复习 课时作业1 地球和地图练习 人教版
(完整word版)世界地图的填图练习
高考地理专题练习——世界地图续.pdf
世界地图的填图练习.doc