public final class MapView
extends ViewGroup
构造器和说明 |
---|
MapView(Context context)
根据给定的参数构造一个MapView 的新对象。
|
MapView(Context context,
AttributeSet attrs)
根据给定的参数构造一个MapView 的新对象。
|
MapView(Context context,
AttributeSet attrs,
int defStyle)
根据给定的参数构造一个MapView 的新对象。
|
MapView(Context context,
BaiduMapOptions options)
根据给定的参数构造一个MapView 的新对象。
|
限定符和类型 | 方法和说明 |
---|---|
void |
addView(View child,
LayoutParams params)
向MapView中添加一个子View。
|
void |
cancelRenderMap()
已过时。
v7.0.0版本之后该接口废弃
|
LogoPosition |
getLogoPosition()
获取Logo位置
|
BaiduMap |
getMap()
获取地图控制器
|
int |
getMapLevel()
获取当前地图级别对应比例尺大小
|
Point |
getScaleControlPosition()
获取比例尺控件对应的屏幕位置
|
int |
getScaleControlViewHeight()
获取比例尺控件的高度
|
int |
getScaleControlViewWidth()
获取比例尺控件的宽度
|
Point |
getZoomControlsPosition()
获取缩放控件的屏幕位置
|
boolean |
handleMultiTouch(float x1,
float y1,
float x2,
float y2)
已过时。
v7.0.0版本之后该接口废弃
|
void |
handleTouchDown(float x,
float y)
已过时。
v7.0.0版本之后该接口废弃
|
boolean |
handleTouchMove(float x,
float y)
已过时。
v7.0.0版本之后该接口废弃
|
boolean |
handleTouchUp(float x,
float y)
已过时。
v7.0.0版本之后该接口废弃
|
boolean |
inRangeOfView(float x,
float y)
判断当前触摸点是否在地图上
|
boolean |
isShowScaleControl()
获取比例尺控件是否显示
|
void |
onCreate(Context context,
Bundle bundle)
用户重载这个方法时必须调用父类的这个方法
用于MapView保存地图状态
|
void |
onDestroy()
当Activity销毁时调用地图的销毁
|
protected void |
onLayout(boolean changed,
int l,
int t,
int r,
int b) |
void |
onPause()
当Activity暂停的时候调用地图暂停
|
void |
onResume()
当Activity唤醒时调用地图唤醒
|
void |
onSaveInstanceState(Bundle bundle)
用户重载这个方法时必须调用父类的这个方法
用于MapView保存地图状态
|
void |
removeView(View view)
从MapView中移除一个子View
|
void |
renderMap()
已过时。
v7.0.0版本之后该接口废弃
|
static void |
setCustomMapStylePath(java.lang.String customMapStylePath)
已过时。
Replace by
setMapCustomStylePath(String) From Version6.0.0 |
void |
setCustomStyleFilePathAndMode(java.lang.String customStyleFilePath,
int loadCustomStyleFileMode)
已过时。
V6.3.0之后不再支持
设置个性化地图样式文件的路径和加载方式
该接口可以和
setMapCustomStyle(MapCustomStyleOptions, CustomMapStyleCallBack) 配合使用,
CustomMapStyleCallBack 回调接口中返回的文件路径加载模式为1。 |
static void |
setIconCustom(int icon_themeId)
已过时。
|
static void |
setLoadCustomMapStyleFileMode(int loadCustomStyleMode)
已过时。
Replace by
setMapCustomStylePath(String) from Version6.0.0 |
void |
setLogoPosition(LogoPosition position)
设置Logo位置
|
static void |
setMapCustomEnable(boolean customMapStyleEnable)
已过时。
Replace by
setMapCustomStyleEnable(boolean) from Version6.0.0 |
void |
setMapCustomStyle(MapCustomStyleOptions mapCustomStyleOptions,
CustomMapStyleCallBack customMapStyleCallBack)
V6.0.0新增接口
设置个性化样式配置选项及加载状态回调。
|
void |
setMapCustomStyleEnable(boolean customMapStyleEnable)
V6.0.0新增接口
动态设置个性化地图样式是否生效
如果使用动态设置个性化地图样式(同一地图设置不同样式或者不同地图设置不同样式)需要使用该使能方法。
|
void |
setMapCustomStylePath(java.lang.String customStyleFilePath)
V6.0.0新增接口
设置个性化地图样式文件的路径
|
void |
setPadding(int left,
int top,
int right,
int bottom) |
void |
setScaleControlPosition(Point p)
设置比例尺控件的位置,在 onMapLoadFinish 后生效
|
void |
setUpViewEventToMapView(MotionEvent event)
设置MotionEvent
|
void |
setZoomControlsPosition(Point p)
设置缩放控件的位置,在 onMapLoadFinish 后生效
|
void |
setZOrderMediaOverlay(boolean isMediaOverlay)
设置多个MapView显示时, 当前SurfaceView在上面
|
void |
showScaleControl(boolean show)
设置是否显示比例尺控件
|
void |
showZoomControls(boolean show)
设置是否显示缩放控件
|
public MapView(Context context)
context
- context 信息public MapView(Context context, AttributeSet attrs)
context
- context 信息public MapView(Context context, AttributeSet attrs, int defStyle)
context
- context 信息public MapView(Context context, BaiduMapOptions options)
context
- context 信息options
- MapView 初始状态(地图状态、手势控制、控件展示等)@Deprecated public static void setCustomMapStylePath(java.lang.String customMapStylePath)
setMapCustomStylePath(String)
From Version6.0.0customMapStylePath
- 个性化地图配置文件路径@Deprecated public static void setIconCustom(int icon_themeId)
icon_themeId
- ICON资源包ID@Deprecated public static void setLoadCustomMapStyleFileMode(int loadCustomStyleMode)
setMapCustomStylePath(String)
from Version6.0.0loadCustomStyleMode
- 加载样式的方式。当前有两种。默认值为0.
1. loadCustomStyleMode = 0:本地加载样式文件,即开发者将Json样式文件放在APP中加载。
此时配合setCustomMapStylePath(String)
方法传入样式文件绝对路径即可;
2. loadCustomStyleMode = 1:通过样式ID从服务端获取样式,便于样式打通,多端通用。
此时需要在初始化地图SDK时,选用指定样式ID的初始化API,详见SDKInitializer.java@Deprecated public static void setMapCustomEnable(boolean customMapStyleEnable)
setMapCustomStyleEnable(boolean)
from Version6.0.0setMapCustomStylePath(String)
之后执行customMapStyleEnable
- 个性化地图样式开关public void setCustomStyleFilePathAndMode(java.lang.String customStyleFilePath, int loadCustomStyleFileMode)
setMapCustomStyle(MapCustomStyleOptions, CustomMapStyleCallBack)
配合使用,
CustomMapStyleCallBack
回调接口中返回的文件路径加载模式为1。customStyleFilePath
- 个性化样式文件的路径。loadCustomStyleFileMode
- 个性化样式文件加载方式,当前仅支持:0-本地, 1-服务端。如果取值不正确,则抛出异常。
本地文件路径对应Mode为0;CustomMapStyleCallBack
回调接口中返回的文件路径对应Mode为1。java.lang.RuntimeException
- ifcustomStyleFilePath == null or loadCustomStyleFileMode != 0 && loadCustomStyleFileMode != 1
public void setMapCustomStylePath(java.lang.String customStyleFilePath)
customStyleFilePath
- 个性化样式文件的路径。public void setMapCustomStyle(MapCustomStyleOptions mapCustomStyleOptions, CustomMapStyleCallBack customMapStyleCallBack)
setMapCustomStyleEnable(boolean)
方法
在线个性化样式创建地址: http://lbsyun.baidu.com/index.php?title=open/custom
调用该接口加载个性化样式的默认策略为:
1、优先通过MapCustomStyleOptions配置的个性化样式ID,加载在线个性化样式;
2、如果配置的个性化样式ID无效或在线个性化样式请求失败,则加载本地缓存的最新一次请求成功的在线个性化样式;
3、如果本地缓存中没有最新一次请求成功的在线个性化样式,则通过MapCustomStyleOptions中配置的本地离线样式路径加载本地样式
4、如果以上样式加载都失败,则显示普通地图样式。mapCustomStyleOptions
- 个性化样式配置选项customMapStyleCallBack
- 在线个性化样式加载状态回调,如果没有配置在线个性化样式ID,则不会有回调。传null则默认走SDK内部加载逻辑。java.lang.RuntimeException
- if the MapCustomStyleOptions.localCustomStylePath(String)
file not exitspublic void setMapCustomStyleEnable(boolean customMapStyleEnable)
setMapCustomStylePath(String)
之后执行
7.5.4版本后,打开个性化地图时不支持英文地图customMapStyleEnable
- 个性化地图样式开关public final BaiduMap getMap()
public final void onDestroy()
public final void setLogoPosition(LogoPosition position)
position
- 枚举类LogoPositionpublic final LogoPosition getLogoPosition()
public final int getMapLevel()
public final void onPause()
public final void onResume()
public void addView(View child, LayoutParams params)
public void removeView(View view)
public void setPadding(int left, int top, int right, int bottom)
protected final void onLayout(boolean changed, int l, int t, int r, int b)
public void showZoomControls(boolean show)
show
- 是否显示缩放控件public void setZoomControlsPosition(Point p)
p
- 缩放控件的位置public Point getZoomControlsPosition()
public void showScaleControl(boolean show)
show
- 是否显示比例尺控件public boolean isShowScaleControl()
public int getScaleControlViewWidth()
public int getScaleControlViewHeight()
public void setScaleControlPosition(Point p)
p
- 比例尺控件的位置public Point getScaleControlPosition()
public void onSaveInstanceState(Bundle bundle)
public void onCreate(Context context, Bundle bundle)
public final void setZOrderMediaOverlay(boolean isMediaOverlay)
isMediaOverlay
- 当前View是否在SurfaceView最上面public void setUpViewEventToMapView(MotionEvent event)
public void handleTouchDown(float x, float y)
x
- 屏幕x坐标y
- 屏幕y坐标public boolean handleTouchUp(float x, float y)
x
- 屏幕x坐标y
- 屏幕y坐标public boolean inRangeOfView(float x, float y)
x
- 屏幕坐标系下,触摸点的x坐标y
- 屏幕坐标系下,触摸点的y坐标public boolean handleMultiTouch(float x1, float y1, float x2, float y2)
x1
- 屏幕坐标系下,第一个手指的x坐标y1
- 屏幕坐标系下,第一个手指的y坐标x2
- 屏幕坐标系下,第二个手指的x坐标y2
- 屏幕坐标系下,第二个手指的x坐标public boolean handleTouchMove(float x, float y)
x
- 屏幕x坐标y
- 屏幕y坐标public void renderMap()
public void cancelRenderMap()