导航:首页 > 操作系统 > android地图动画效果

android地图动画效果

发布时间:2022-10-23 16:19:41

android手机地图画移动轨迹的代码

package com.life.hua.activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.Path;
import android.graphics.Point;
import android.os.Bundle;
import com..mapapi.BMapManager;
import com..mapapi.GeoPoint;
import com..mapapi.MapActivity;
import com..mapapi.MapController;
import com..mapapi.MapView;
import com..mapapi.Overlay;
import com..mapapi.Projection;
import com.life.hua.activity.BaseApplication;
import com.life.hua.activity.R;

public class BaiMapActivity extends MapActivity {
private Context mContext;
private MapView mapView;
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
private GeoPoint gpoint1, gpoint2, gpoint3;// 连线的点
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
setContentView(R.layout.map_layout);

BaseApplication baseApp = (BaseApplication) this.getApplication();
if (baseApp.mBMapManage == null) {
baseApp.mBMapManage = new BMapManager(mContext);
baseApp.mBMapManage.init(baseApp.mStrKey,
new BaseApplication.MyGeneralListener());
}
baseApp.mBMapManage.start();
super.initMapActivity(baseApp.mBMapManage);// 初始化map sdk
mapView = (MapView) findViewById(R.id.bmapView);
mapView.setBuiltInZoomControls(true);
// 设置在缩放动画过程中也显示overlay,默认为不绘制
mapView.setDrawOverlayWhenZooming(true);

// RouteLine routeLine =
// (RouteLine)getIntent().getSerializableExtra("routeLine");

//这里画点和连接线
MyOverlay myOverlay = new MyOverlay();
mapView.getOverlays().add(myOverlay);

MapController mapController = mapView.getController();
mapController.zoomIn();

gpoint1 = new GeoPoint((int) (2259316 * 10),
(int) (11396279 * 10));
gpoint2 = new GeoPoint((int) (2259245 * 10),
(int) (11396226 * 10));
gpoint3 = new GeoPoint((int) (2259121 * 10),
(int) (11396066 * 10));
mapController.animateTo(gpoint1);//设置一个起点
}

class MyOverlay extends Overlay {

@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
super.draw(canvas, mapView, shadow);

Projection projection = mapView.getProjection();
Point p1 = new Point();
Point p2 = new Point();
Point p3 = new Point();
// 经度转像素
projection.toPixels(gpoint1, p1);
projection.toPixels(gpoint2, p2);
projection.toPixels(gpoint3, p3);

//第一个画笔 画圆
Paint fillPaint = new Paint();
fillPaint.setColor(Color.BLUE);
fillPaint.setAntiAlias(true);
fillPaint.setStyle(Style.FILL);

// 将图画到上层
canvas.drawCircle(p1.x, p1.y, 5.0f, fillPaint);
canvas.drawCircle(p2.x, p2.y, 5.0f, fillPaint);
canvas.drawCircle(p3.x, p3.y, 5.0f, fillPaint);

//第二个画笔 画线
Paint paint = new Paint();
paint.setColor(Color.BLUE);
paint.setDither(true);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeJoin(Paint.Join.ROUND);
paint.setStrokeCap(Paint.Cap.ROUND);
paint.setStrokeWidth(4);

//连接
Path path = new Path();
path.moveTo(p1.x, p1.y);
path.lineTo(p2.x, p2.y);
path.lineTo(p3.x, p3.y);
//画出路径
canvas.drawPath(path, paint);
}
}

}

Ⅱ android类似百度地图图层效果是怎样做的,还有那种点击事件

这里有一个网络地图划线的例子,通过添加地图图层实现的,可以参考一下

Ⅲ android手机的效果如何实现,地图效果实现

去看一下API 用网络地图吧 API中文的

Ⅳ 移动gis平台ucmap for android有哪些功能哪位大神详细列举一下

UCMap for Android是当前主流的移动GIS开发组件,拥有业界最快的地图显示性能,依托庞大的接口体系为开发者提供强大且丰富的定制功能,UCMap for Android从2009年第一版推出至今,经历了多次的版本升级,其稳定性得到众多实际项目的检验,在GIS各行业得到广泛应用,例如,土地确权、国土监察、电力踏勘、林业调查、林业消防、管线巡检、部件采集、城市管理、房产测绘、农业测图配方、单兵通、航迹管理、室内导航、智慧景区、公安应急等
1、数据格式
UCMap for Android支持通用的矢量地图格式SHP,支持各种遥感影像格式Geotiff、Img、BMP、JPG、PNG等,同时还支持离线的Google地图和影像,或者自定义瓦片图;
2、数据加密
地图数据是重要的保密信息,为了在数据丢失或未授权的情况下,外界无法解读出数据本身的内容,这就要求数据以密文的形式存在;为此,UCMap for Android支持地图数据的加密,经过加密的地图是以密文的形式存在,只有输入正确的口令才能解密;
3、数据更新
地图数据是有现势性的,即经过一段时间,由于地理自然环境的变化,地图数据也应及时更新,这样才能让地图数据更加准确地反映现实情况,所以,地图数据的更新就显得尤为重要;UCMap for Android不但支持离线地图,同时也支持地图在线更新,即可以在线更新替换整个地图数据,也可以更新替换地图中的某些图层;
4、符号化
地图是将地理数据通过符号化的方式予以展现的,UCMap for Android除了支持常规预定义的点、线、面符号外,还支持自定义的SVG矢量符号,用户可以自定义各种矢量符号来渲染地图,实现地图强大的直观表现力;
5、地图显示
地图是由各个专题的图层叠加而成,图层的性质有两种,即矢量图层和影像图层,在坐标一致的前提下,可以将影像图层作为背景图,将矢量图层叠加在影像图层之上;UCMap for Android拥有业界最高的地图浏览性能,支持矢量图和影像图叠加显示,支持地图的缩小、放大、平移、双指旋转,支持滑动的动画效果,支持地图比例尺&指北针等小部件;
6、地图与图层管理
装载地图、设置\获取地图范围、设置\获取地图比例尺、设置\获取地图单位、获取地图图层,添加图层、删除图层、调整图层顺序、修改图层标注字段、修改图层样式、查询图层等;
7、地图查询
地图查询分属性查询和空间查询,属性查询是以地图要素的某些属性值为条件进行SQL查询,查询返回要素的属性或几何信息;空间查询是以地图要素之间的空间拓扑关系为条件进行扩展型的SQL查询;UCMap for Android支持各种类型的SQL查询,尤其是空间查询,能覆盖要素之间各种空间拓扑关系,如Disjoint、Touches、Crosses、Within、Overlaps、Contains、Intersects、Equals、DWithin等空间谓词;
8、要素编辑
一个要素对应数据库表中的一条记录,记录里有属性字段和几何字段,所谓编辑就是对这些属性字段和几何字段进行增加、删除、修改等动作,于是,添加要素、删除要素、更新要素、导出shp是UCMap for Android最基础的功能;为了适应移动端手指或触笔来编辑几何图形,UCMap for Android设计了人性化的编辑交互模式,如点选或框选要素、捕捉节点、移动节点、添加节点、删除节点、移动要素、编辑动作的Redo\Undo(可以无数次)、信息查询info等;UCMap for Android还提供了更高级的编辑,如线或图斑的裁剪、合并等拓扑编辑;针对测量成图的需求,还提供了根据测图过程中测得的长度和角度自动绘制图形的功能;
9、专题图渲染
UCMap for Android支持多种专题图渲染,根据所给定的属性条件,可定制各种专题渲染,甚至可以隐藏图层中的要素;
10、坐标系转换
UCMap for Android支持2个任意投影类型之间的坐标转换,支持四参数、七参数坐标转换;
11、地图量算
UCMap for Android支持地图测距、测面积、测角度;
12、定位监控和轨迹显示
UCMap for Android能实时对若干监控点进行实时显示并快速刷新,能查询并绘制某个监控点的历史轨迹;
13、地图标注
UCMap for Android提供了一个特殊的图层,即装饰图层,用户可以在这个图层上对地图进行标绘,下面要重点介绍的地图标绘就绘制在这个图层上,除了能标绘军标以外,还能绘制矩形、直线、圆、椭圆、路径、文字等;
14、等值线绘制
UCMap for Android支持对离散高程点(或气象点)进行插值,并生成高程等值线或气象等值线图;
15、路径规划与导航
UCMap for Android支持特定场所的简单道路的路径规划,例如,室内地图、景区地图、港口码头等特定场所的路径规划;
16、地图标绘
针对军事作战、应急等行业,协同标绘是其基本需求,UCMap for Android是支持矢量标绘,能对标绘的符号进行组合、拆分、移动、缩放、拉伸、旋转等等操作;标绘是在装饰图层上进行的,一个标绘就是一个装饰对象,装饰对象可以是任意的SVG符号,也可以是预定义的图形;对于测绘行业,地图标绘也为测绘草图的绘制提供了完美的解决方案;
17、集成功能
UCMapfor Android还可以将手机拍照、录音、录像、GPS定位等功能集成在一起,在地图上记录这些多媒体信息采集的时空信息;

UCMapfor Android为开发人员提供了强大的GIS基础平台,用户根据自身项目的需求、通过二次开发来实现所需要的应用产品;UCMap接口庞大、结合本人近几年移动GIS开发经验,以上只是UCMap基础功能的节略,更深入细致的使用还需要开发者阅读UCMap的开发教程和API文档!

Ⅳ android 视图 如何做成百度地图的这种效果

所谓的浮在另一个View上,其实只不过是在一个布局中先画和后画的问题,比如这就是先画的地图,后画的搜索框,你可以用relatedlayout的布局,布局上先写View后写搜索框,并且View是fillparent而搜索框是wrapcontent,这样后画上去的搜索框就画在上面了,另外framelayout也可以。半透明搜索框的话可以直接用半透明图或者用#D0000000这种半透明来修饰

Ⅵ Android 天地图怎么定位动画怎么移除

map.addEventListener("tilesloaded",add_marker);
function add_marker(){
map.clearOverlays();//清除现有的marker
var center = map.getCenter();
position_arr[1] = parseFloat(center.lat);//添加偏移量----y
position_arr[0] = parseFloat(center.lng);//添加偏移量----x
var pt = new BMap.Point(position_arr[0],position_arr[1]);
var marker = new BMap.Marker(pt); // 创建标注
map.addOverlay(marker); // 将标注添加到地图中
marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
map.removeEventListener("tilesloaded",add_marker);

Ⅶ 安卓手机下载的谷歌地图怎么使用3d效果

地图上面点击街道,然后出一个方块,上面写的是街道名字,点进去就OK了,是个小人图案
别的国家不知道,美国可以,看了洛杉矶和华盛顿,还不错,试试吧.

Ⅷ android地图缩小放大的时候maker之间聚合是什么原理

<1>GeoPoint

表示一个地理坐标点,存放经度和纬度,以微度的整数形式存储。

方法

GeoPoint(int latitudeE6, int longitudeE6)用给定的经纬度构造一个GeoPoint

方法介绍:

public int getLatitudeE6()

返回GeoPoint的纬度,单位微度

public int getLongitudeE6()

返回GeoPoint的经度,单位微度

public void setLatitudeE6(int latitudeE6)

设置GeoPoint的纬度,单位微度

public void setLongitudeE6(int longitudeE6)

设置GeoPoint的经度,单位微度

<2>接口 Projection

该接口用来在屏幕像素x/y坐标系和地球经纬度坐标系之间进行转换,通过 MapView.getProjection()来取得映射类。

GeoPoint fromPixels(int x, int y)

该方法用给定的像素坐标创建一个新的GeoPoint。
给定的像素点是以MapView的左上角为原点的坐标系统,MapView提供了这个像素转换器(PixelConverter)。 参数:result -
搜索结果iError - 错误号,0表示正确返回

Point toPixels(GeoPoint in, Point out)

把给定的GeoPoint变换到相对于MapView左上角的屏幕像素坐标。MapView提供了这种投影变换。 参数:in - 待变换的一对经纬度out
- 一个用于输出预先存在的对象;如果为空,将返回一个新分配的像素点。

<3>MapController

处理地图移动和缩放的工具类。

返回类型方法

voidanimateTo(GeoPoint point)对以给定的点GeoPoint,开始动画显示地图。

voidanimateTo(GeoPoint point, Message message)对以给定的GeoPoint,开始动画显示地图。

booleanonKey(View v, int keyCode, KeyEvent event)处理按键事件,把事件变换为适度的地图平移。

voidscrollBy(int x, int y)按照给定的像素数据量滚动。

voidsetCenter(GeoPoint point)在给定的中心点GeoPoint上设置地图视图。

intsetZoom(int zoomLevel)设置地图的缩放级别。

voidstopAnimation(boolean
jumpToFinish)终止所有未完成的动画,有条件的把地图中心修正到已完成的特殊动画的偏移量上去。

voidstopPanning()重新设置平移状态,使地图静止。

booleanzoomIn()放大一个级别。

booleanzoomInFixing(int xPixel, int yPixel)放大一个级别。

booleanzoomOut()缩小一个级别。

booleanzoomOutFixing(int xPixel, int yPixel)缩小一个级别。

voidzoomToSpan(int latSpanE6, int lonSpanE6)尝试调整地图的缩放,以便显示给定的经纬度范围。

<4>MapView

一个显示地图的视图,当被焦点选中时,它能捕获按键事件和触摸手势去平移和缩放地图。

返回类型方法

booleancanCoverCenter()检查当前是否有地图贴片覆盖地图中心点。

protected booleancheckLayoutParams (android.view.ViewGroup.LayoutParams
p)仅检查p是否是的一个MapView.LayoutParams实例。

voidcomputeScroll()捕获滚动事件,用它们去平移地图。

voiddisplayZoomControls(boolean takeFocus)显示缩放控件,可以选择是否请求焦点选中以便通过按键访问。

protected
android.view.ViewGroup.()返回一个Layout参数的集合,其中参数带有ViewGroup.LayoutParams.WRAP_CONTENT的宽度,ViewGroup.LayoutParams.WRAP_CONTENT高度和坐标(0,0)。

protected
android.view.ViewGroup.(android.view.ViewGroup.LayoutParams
p)

android.view.ViewGroup.(AttributeSet
attrs)

MapControllergetController()返回地图的MapController,这个对象可用于控制和驱动平移和缩放。

intgetLatitudeSpan()当前纬线的跨度(从地图的上边缘到下边缘),十进制度×1,000,000。

intgetLongitudeSpan()当前经度的跨度(从地图的左边缘到地图的右边缘),单位:十进制的度×1,000,000。

GeoPointgetMapCenter()返回当前地图中心点位置,做为一个GeoPoint(经度、纬度)的对象。

intgetMaxZoomLevel()返回当前视图中心点的最大缩放级别。

java.util.ListgetOverlays()获取Overlay列表。

ProjectiongetProjection()获取屏幕像素坐标和经纬度对之间的转换。

ViewgetZoomControls()已过时。

intgetZoomLevel()返回当前地图的缩放级别。

booleanisSatellite()

booleanisStreetView()

booleanisTraffic()是否显示交通流量。

protected voidonDetachedFromWindow()当被分离调用,清除缩放控件。

protected voidonDraw(Canvas canvas)

voidonFocusChanged(boolean hasFocus, int direction, Rect
previouslyFocusedRect)当这个视图的焦点状态变化时被视图系统调用。

booleanonKeyDown(int keyCode, KeyEvent event)把按键传送到overlay。

booleanonKeyUp(int keyCode, KeyEvent event)把按键传送到overlay。

protected voidonLayout(boolean flag, int l, int t, int r, int b)

protected voidonMeasure(int widthMeasureSpec, int heightMeasureSpec)

voidonRestoreInstanceState(Bundle state)把MapView的状态恢复到一个Bundle。

voidonSaveInstanceState(Bundle state)把MapView的状态存储到一个Bundle中。

protected voidonSizeChanged(int w, int h, int oldw, int
oldh)重新调整地图对象的尺寸。

booleanonTouchEvent(MotionEvent
event)首先把touch事件传送到overlay,如果它不处理它们,就把事件再传送到手势探测器,然后分发探测到的手势。

booleanonTrackballEvent(MotionEvent
event)把trackball事件首先传送到overlay,如果它们不处理消息,尝试取平移和点击。

voidonWindowFocusChanged(boolean hasFocus)当包含这个视图的窗口得到或是去焦点时被调用。

voidpreLoad()

voidsetDrawOverlayWhenZooming(boolean bDraw)设置在缩放动画过程中是否绘制overlay,默认为不绘制。
如果绘制,在覆盖物很多的情况下效率会有损失。 自1.1版本之后支持。

voidsetBuiltInZoomControls(boolean on)设置是否启用内置的缩放控件。

voidsetReticleDrawMode(com..mapapi.MapView.ReticleDrawMode
mode)暂不支持。

voidsetSatellite(boolean on)设置是否打开卫星图。

voidsetStreetView(boolean on)暂不支持。

voidsetTraffic(boolean on)设置是否打开交通流量图层。

voidregMapViewListener(BMapManager bmapMan, MKMapViewListener
listener)注册地图显示事件监听器。

<5>MyLocationOverlay

一个负责显示用户当前位置的Overlay。

Overlay是一个覆盖,它绘制用户当前在地图上的位置(精准度),和/或一个嵌入的指南针。子类能覆盖方法dispatchTap()去处理对当前位置的点击。

为了开启这个overlay的功能,需要去调用enableMyLocation()和/或enableCompass(),
或调用Activity中的Activity.onResume()方法。记住,当在后台是,要在Activity中的Activity.onPause()方法中调用相应的disableMyLocation()和/或disableCompass()关闭这个功能。

返回类型方法

voiddisableCompass()关闭指南针的更新。

voiddisableMyLocation()停止位置更新。

protected booleandispatchTap()在“我的位置”坐标上处理点击事件。

booleandraw(Canvas canvas, MapView mapView, boolean shadow, long
when)绘制方法。

protected voiddrawCompass(android.graphics.Canvas canvas, float
bearing)绘制指南针。

protected voiddrawMyLocation(Canvas canvas, MapView mapView,
android.location.Location lastFix, GeoPoint myLocation, long when)绘制“我的位置”点。

booleanenableCompass()开启指南针更新功能。

booleanenableMyLocation()尝试开启MyLocation功能,并向MKLocationManager.GPS_PROVIDER和MKLocationManager.NETWORK_PROVIDER注册更新。

LocationgetLastFix()返回一个位置,对应于最近设定的用户位置。

GeoPointgetMyLocation()返回一个GeoPoint,对应于一个最近设定的用户位置。

floatgetOrientation()返回最近设定的的指南针朝向。

booleanisCompassEnabled()检查指南针小部件是否被显示。

booleanisMyLocationEnabled()

voidonAccuracyChanged(Sensor sensor, int accuracy)

voidonLocationChanged(Location location)监听并获取位置更新。

voidonProviderDisabled(java.lang.String provider)

voidonProviderEnabled(java.lang.String provider)

voidonSensorChanged(SensorEvent event)当指南针的值变换时,由SensorManager调用。

booleanonSnapToItem(int x, int y, android.graphics.Point snapPoint, MapView
mapView)检查给定的(x,y)是否和引起当前行为(如缩放)的item足够靠近。

booleanonTap(GeoPoint p, MapView mapView)检查点击的位置是否非常接近于当前的位置(如果已知)。

booleanrunOnFirstFix(java.lang.Runnable
runnable)把一个runnable加入队列,一旦收到一个位置信息,这个runnable就被执行。

<6>Overlay

Overlay是一个基类,它表示可以显示在地图上方的覆盖overlay。
添加一个overlay时,从这个基类派生出一个子类,创建一个实例,然后把它加入到一个列表中。这个列表通过调用MapView.getOverlays()得到。为了允许用户触摸去对齐一个点,子类应当实现Overlay.Snappable接口。

返回类型方法

booleandraw(Canvas canvas, MapView mapView, boolean
shadow)在地图上绘制overlay。

booleandraw(Canvas canvas, MapView mapView, boolean shadow, long
when)专门绘制动画overlay的调用。

protected static voiddrawAt(Canvas canvas, Drawable drawable, int x, int y,
boolean bShadow)在某个偏移位置画一个Drawable的便捷方法。

booleanonKeyDown(int keyCode, KeyEvent event, MapView
mapView)处理一个按键被按下的事件。

booleanonKeyUp(int keyCode, KeyEvent event, MapView mapView)处理一个按键放开事件。

booleanonTap(GeoPoint p, MapView mapView)处理一个“点击”事件。

booleanonTouchEvent(MotionEvent e, MapView mapView)处理一个触摸事件。

booleanonTrackballEvent(MotionEvent e, MapView mapView)处理一个轨迹球事件。

Ⅸ Android开发中如何使百度地图显示3D效果,求源代码

现在可以在网络地图上点击’三维’按钮,看到北京城三环内的3D建筑物。画面的细腻程度堪比游戏,但这也是困惑,因为三维网络地图没有给这是一个地图的概念,到像是一款模拟城市游戏。

Google Earth 3D Maps中的三维城市多以实景建模,随着鼠标拉近拉远,可以感受建筑物的空间感。网络三维地图目前还停留在3D绘画的层次。

Ⅹ 地图中添加大头针如何添加动画效果

哦。那你看看能不能通过重写下他们把动画给加上。或者可不可以根据文字自己用画布实现一个动画。

阅读全文

与android地图动画效果相关的资料

热点内容
手机电音app哪个好 浏览:749
checksum命令 浏览:637
java创建xml文件 浏览:170
算命源码国际版 浏览:283
三菱模块化编程 浏览:718
控件读取文件源码 浏览:445
文件夹侧面目录标签怎么制作 浏览:232
做程序员学什么 浏览:320
pdfeditor教程 浏览:880
fortran把文件放入文件夹 浏览:709
程序员1年经验不敢投简历 浏览:481
如何看电脑的源码 浏览:897
找工作app软件哪个好 浏览:96
信息管理网站源码 浏览:439
小说app哪个好免费 浏览:224
域名在线加密 浏览:146
软件编程西安交大 浏览:453
是不是串货的奶粉查不到溯源码的 浏览:825
北京dns服务器云主机 浏览:221
openldaplinux安装 浏览:23