maps常见问题我要提意见

Maps模块管理地图控件,用于在web页面中显示地图控件,提供各种接口操作地图控件,如添加标点、路线等。通过plus.maps可获取地图管理对象。

方法:

对象:

回调方法:

权限:

permissions


{
// ...
"permissions":{
	// ...
	"Maps": {
		"description": "地图"
	}
}
}
			

openSysMap

调用系统第三方程序进行导航


plus.maps.openSysMap( dst, des, src );
				

参数:

返回值:

void : 无

示例:


// 设置目标位置坐标点和其实位置坐标点
var dst = new plus.maps.Point(116.39131928,39.90793074); // 天安门 
var src = new plus.maps.Point(116.335,39.966); // 大钟寺
// 调用系统地图显示 
plus.maps.openSysMap( dst, "天安门", src );
				

uni-app使用plus注意事项

create

创建Map对象


Map plus.maps.create(id, styles);
				

说明:

调用此方法创建后并不会显示,需要调用Webview窗口的append方法将其添加到Webview窗口后才能显示。 注意:此时需要通过styles参数的top/left/width/height属性设置控件的位置及大小。

参数:

返回值:

Map : Map地图控件对象

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var map = null;
// 创建地图控件
function createMap() {
	if(!map){
		map = plus.maps.create('map', {
			top:'100px',
			left:'0px',
			width: '100%',
			height: '200px',
			position: 'static'
		});
		plus.webview.currentWebview().append(map);
	}
}
		</script>
		<style type="text/css">
*{
	-webkit-user-select: none;
}
html,body{
	margin: 0px;
	padding: 0px;
	height: 100%;
}
		</style>
	</head>
	<body>
		<button onclick="createMap()">创建地图控件</button>
	</body>
</html>
				

uni-app使用plus注意事项

getMapById

查找已经创建的Map对象


Map plus.maps.getMapById(id);
				

说明:

调用此方法查找指定id的Map对象,如果不存在则返回null。

参数:

返回值:

Map : Map地图控件对象

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var map = null;
// 创建地图控件
function createMap() {
	if(!map){
		map = plus.maps.create('map', {
			top:'100px',
			left:'0px',
			width: '100%',
			height: '200px',
			position: 'static'
		});
		plus.webview.currentWebview().append(map);
	}
}
// 查找地图控件
function findMap() {
	var b = plus.maps.getMapById('map');
	if(b){
		console.log('find success!');
		alert('success');
	} else {
		console.log('find failed!');
		alert('failed');
	}
}
		</script>
		<style type="text/css">
*{
	-webkit-user-select: none;
}
html,body{
	margin: 0px;
	padding: 0px;
	height: 100%;
}
		</style>
	</head>
	<body>
		<button onclick="createMap()">创建地图控件</button>
		<br/>
		<button onclick="findMap()">查找地图控件</button>
	</body>
</html>
				

uni-app使用plus注意事项

Map

地图控件对象

构造:

方法:

事件:

Map(domId, styles)

创建Map对象


var ptObj = new plus.maps.Map(id, styles);
						

说明:

创建Map地图控件对象,并指定其在Webview窗口中关联div或object标签的id号。 此时styles参数中的left/top/width/height属性值被忽略,通过DOM标签来确定Map对象的位置及大小。

参数:

返回值:

Map : Map地图控件对象

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready", plusReady, false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded", function(){
	em=document.getElementById("map");
	plusReady();
},false);
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 0px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

calculateArea

静态方法,计算面积


void plus.maps.Map.calculateArea( bounds, successCallback, errorCallback );
						

说明:

计算指定地理区域的面积,单位为平方米。 注:此功能仅百度地图支持,高德地图暂不支持此功能。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 获取当前地图显示的地理区域面积
function calculateArea(){
	var bounds = map.getBounds();
	plus.maps.Map.calculateArea( bounds, function(event){
		var area = event.area;  // 计算后的面积值
		alert("Area:"+area);
	}, function(e){
		alert("Failed:"+JSON.stringify(e));
	} );
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		计算面积<br/>
		<button onclick="calculateArea()">获取地理区域面积</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

calculateDistance

静态方法,计算距离


void plus.maps.Map.calculateDistance( pointStart, pointEnd, successCallback, errorCallback );
						

说明:

计算从pointStart坐标点到pointEnd坐标的实际直线距离,单位为米(m)。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
// H5 plus事件处理
function plusReady(){
	var point1 = new plus.maps.Point(116.351442,39.972614);
	var point2 = new plus.maps.Point(116.340788,39.973319)
	plus.maps.Map.calculateDistance(point1,point2,function(event){
		var distance = event.distance;  // 转换后的距离值
		alert("Distance:"+distance);
	},function(e){
		alert("Failed:"+JSON.stringify(e));
	});
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		计算距离<br/>
	</body>
</html>
						

uni-app使用plus注意事项

convertCoordinates

静态方法,坐标转换


void plus.maps.Map.convertCoordinates( point, options, successCallback, errorCallback );
						

说明:

将第三方坐标系坐标转换成当前地图的坐标系坐标。 转换成功通过successCallback返回,转换失败则通过errorCallback返回。

参数:

返回值:

void : 无

平台支持:

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
// H5 plus事件处理
function plusReady(){
	var point = new plus.maps.Point(116.3447905236,39.9663258208);
	plus.maps.Map.convertCoordinates(point,{},function(event){
		var point = event.coord;  // 转换后的坐标值
		var coordType = event.coordType;	// 转换后的坐标系类型
		alert("Success:"+JSON.stringify(event));
	},function(e){
		alert("Failed:"+JSON.stringify(e));
	});
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		坐标转换<br/>
	</body>
</html>
						

uni-app使用plus注意事项

geocode

静态方法,地理编码


void plus.maps.Map.geocode( address, options, successCallback, errorCallback );
						

说明:

将地理位置信息转换为坐标点。 转换成功通过successCallback返回,转换失败则通过errorCallback返回。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
// H5 plus事件处理
function plusReady(){
	plus.maps.Map.geocode("海淀区大钟寺地铁站",{city:"北京"},function(event){
		var address = event.address;  // 转换后的地理位置
		var point = event.coord;  // 转换后的坐标信息
		var coordType = event.coordType;	// 转换后的坐标系类型
		alert("Coord:"+JSON.stringify(point));
	},function(e){
		alert("Failed:"+JSON.stringify(e));
	});
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		地理编码<br/>
	</body>
</html>
						

uni-app使用plus注意事项

reverseGeocode

静态方法,反向地理编码


void plus.maps.Map.reverseGeocode( point, options, successCallback, errorCallback );
						

说明:

将坐标点转换为地理位置信息。 转换成功通过successCallback返回,转换失败则通过errorCallback返回。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
// H5 plus事件处理
function plusReady(){
	var point = new plus.maps.Point(116.347496,39.970191);
	plus.maps.Map.reverseGeocode(point,{},function(event){
		var address = event.address;  // 转换后的地理位置
		var point = event.coord;  // 转换后的坐标信息
		var coordType = event.coordType;	// 转换后的坐标系类型
		alert("Address:"+address);
	},function(e){
		alert("Failed:"+JSON.stringify(e));
	});
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		反向地理编码<br/>
	</body>
</html>
						

uni-app使用plus注意事项

addOverlay

向地图中添加覆盖物


Boolean mapObj.addOverlay( overlay );
						

说明:

此方法用于向地图中添加覆盖物。 支持各种从maps.Overlay对象继承的各种覆盖物对象; 如果添加不支持的对象则直接返回false; 同一覆盖物对象只能添加到地图中一次,已在地图中的覆盖物再次添加时则返回false。

参数:

返回值:

Boolean : 添加成功返回true,失败返回false。

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 添加标点
var marker=null;
function addMarker(){
	if(marker){return;}
	marker=new plus.maps.Marker(new plus.maps.Point(116.347496,39.970191));
	marker.setIcon("/logo.png");
	marker.setLabel("HBuilder");
	var bubble = new plus.maps.Bubble("打造最好的HTML5移动开发工具");
	marker.setBubble(bubble);
	map.addOverlay(marker);
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		向地图中添加覆盖物<br/>
		<button onclick="addMarker()">添加标点</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

centerAndZoom

设置地图初始中心点和缩放级别


void mapObj.centerAndZoom( center, zoom );
						

说明:

用于设置地图的初始中心点和缩放级别,通常在创建地图后立即调用。 默认中心点为天安门,默认缩放级别为12; 该方法设置的中心点和缩放级别可通过reset()方法恢复; 如果在地图显示后调用将改变地图的中心点和缩放级别并立即更新,并将初始值更新。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 0px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

clearOverlays

清除地图中所有覆盖物对象


void mapObj.clearOverlays();
						

说明:

此方法用于清除地图中所有覆盖物对象。 清除地图中的覆盖物对象后会自动更新地图视图。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.347496,39.970191), 18 );
	addMarker();
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 添加标点
var markers=[],i=0;
function addMarker(){
	var marker=new plus.maps.Marker(new plus.maps.Point(116.347496+0.001*i,39.970191+0.001*i));
	marker.setIcon("/logo.png");
	marker.setLabel("HBuilder");
	var bubble = new plus.maps.Bubble("打造最好的HTML5移动开发工具");
	marker.setBubble(bubble);
	map.addOverlay(marker);
	markers.push(marker);
	i++;
}
// 清除所有标点
function clearMarker(){
	map.clearOverlays();
	markers=[];
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		清除地图中所有覆盖物对象<br/>
		<button onclick="addMarker()">添加标点</button>
		<button onclick="clearMarker()">清除标点</button><br/>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

close

关闭地图控件


void mapObj.close();
						

说明:

关闭地图控件将会销毁地图使用的资源,不可再使用。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
// H5 plus事件处理
function plusReady(){
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener('plusready', plusReady, false);
}

var map=null;
// 显示地图
function showMap(){
	map||(map=new plus.maps.Map('map'),
		map.centerAndZoom(new plus.maps.Point(116.3977,39.906016), 12));
	map.show();
}
// 关闭地图
function closeMap(){
	map&&(map.close(),map=null);
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		关闭地图控件<br/>
		<button onclick="showMap()">显示地图</button>
		<button onclick="closeMap()">关闭地图</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

getBounds

获取当前地图可视范围的地理区域


Bounds mapObj.getBounds();
						

说明:

当旋转或俯视时,是当前地图可视范围的最大外接矩形地理区域。

参数:

返回值:

Bounds : 获取到

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 获取当前地图显示的地理区域
function getCurrentBounds(){
	alert( JSON.stringify(map.getBounds()) );
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		获取当前地图显示的地理区域<br/>
		<button onclick="getCurrentBounds()">获取地理区域</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

getCenter

获取地图中心点位置


Point mapObj.getCenter();
						

说明:

此方法用于获取设置的地图中心点位置(centerAndZoom/setCenter)。

参数:

返回值:

Point : 地图中心点坐标

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 获取地图的中心点
function getCenter(){
	var center = map.getCenter();
	alert( JSON.stringify(center) );
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		获取地图中心点<br/>
		<button onclick="getCenter()">GetCenter</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

getCurrentCenter

获取当前地图显示的地图中心点位置


Boolean mapObj.getCurrentCenter( callback );
						

说明:

此方法用于获取当前地图显示的地图中心点位置,获取成功后通过callback回调返回。

参数:

返回值:

Boolean : 执行获取操作成功则返回true,一定会执行通知结果方法;否则返回false。

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 获取当前地图显示的地图中心点位置
function getCurrentCenter(){
	map.getCurrentCenter( function ( state, point ){
		if( 0 == state ){
			alert( JSON.stringify(point) );
		}else{
			alert( "Failed!" );
		}
	} );
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		获取当前地图显示的地图中心点位置<br/>
		<button onclick="getCurrentCenter()">获取中心位置</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

getMapType

获取地图的显示类型


void mapObj.getMapType();
						

参数:

返回值:

MapType : 地图视图的显示类型

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 获取地图的显示类型
function getMapType(){
	alert(map.getMapType()==plus.maps.MapType.MAPTYPE_SATELLITE?"卫星视图":"街道视图" );
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		设置地图类型<br/>
		<button onclick="getMapType()">视图类型</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

getUserLocation

获取用户的当前位置信息


Boolean mapObj.getUserLocation( callback );
						

说明:

此方法用于获取用户的当前位置信息,获取成功后通过callback回调返回。 获取用户当前位置信息将打开定位设备。

参数:

返回值:

Boolean : 执行获取操作成功则返回true,一定会执行通知结果方法;否则返回false。

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 获取用户的当前位置信息
function getUserLocation(){
	map.getUserLocation( function ( state, point ){
		if( 0 == state ){
			alert( JSON.stringify(point) );
		}else{
			alert( "Failed!" );
		}
	} );
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		获取用户的当前位置信息<br/>
		<button onclick="getUserLocation()">获取位置</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

getZoom

获取地图的缩放级别


Number mapObj.getZoom();
						

说明:

当前地图显示的真实缩放级别。

参数:

返回值:

Number : 地图视图的缩放级别

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 获取地图的缩放级别
function getZoom(){
	plus.nativeUI.alert( map.getZoom() );
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		获取地图的缩放级别<br/>
		<button onclick="getZoom()">GetZoom</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

hide

隐藏地图控件


void mapObj.hide();
						

说明:

此方法用于隐藏地图控件,通常在显示后调用此方法来隐藏。 如果地图已经隐藏再调用此方法将无效果。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 显示地图
function showMap(){
	map.show();
}
// 隐藏地图
function hideMap(){
	map.hide();
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		隐藏地图控件<br/>
		<button onclick="showMap()">显示地图</button>
		<button onclick="hideMap()">隐藏地图</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

isShowUserLocation

获取是否显示用户位置


Boolean mapObj.isShowUserLocation();
						

参数:

返回值:

Boolean : 地图中显示用户位置则返回true,否则返回false。

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 打开用户位置
function showUserLocation(){
	map.showUserLocation( true );
}
// 关闭用户位置
function hideUserLocation(){
	map.showUserLocation( false );
}
// 获取是否打开用户位置
function isUserLocation(){
	alert( map.isShowUserLocation() );
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		获取是否显示用户位置<br/>
		<button onclick="showUserLocation()">显示用户位置</button>
		<button onclick="hideUserLocation()">关闭用户位置</button><br/>
		<button onclick="isUserLocation()">是否显示用户位置</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

isShowZoomControls

获取是否显示地图内置缩放控件


Boolean mapObj.isShowZoomControls();
						

参数:

返回值:

Boolean : 地图中已显示内置缩放控件则返回true,否则返回false

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 打开用户位置
function showZoomControls(){
	map.showZoomControls( true );
}
// 关闭用户位置
function hideZoomControls(){
	map.showZoomControls( false );
}
// 获取是否打开用户位置
function isZoomControls(){
	alert( map.isShowZoomControls() );
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		获取是否显示地图内置缩放控件<br/>
		<button onclick="showZoomControls()">显示缩放控件</button>
		<button onclick="hideZoomControls()">关闭缩放控件</button><br/>
		<button onclick="isZoomControls()">是否显示缩放控件</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

isTraffic

获取是否打开地图交通信息图层


Boolean mapObj.isTraffic();
						

参数:

返回值:

Boolean : 地图中显示交通信息图层则返回true,否则返回false。

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 打开地图交通信息图层
function showTraffic(){
	map.setTraffic( true );
}
// 关闭地图交通信息图层
function hideTraffic(){
	map.setTraffic( false );
}
// 获取是否打开地图交通信息图层
function isTraffic(){
	alert( map.isTraffic() );
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		获取是否打开地图交通信息图层<br/>
		<button onclick="showTraffic()">显示交通信息</button>
		<button onclick="hideTraffic()">关闭交通信息</button><br/>
		<button onclick="isTraffic()">是否显示交通信息</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

removeOverlay

从地图中删除覆盖物对象


void mapObj.removeOverlay( overlay );
						

说明:

此方法用于从地图中删除覆盖物对象。 支持各种从maps.Overlay对象继承的各种覆盖物对象。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 添加标点
var marker=null;
function addMarker(){
	if(marker){return;}
	marker=new plus.maps.Marker(new plus.maps.Point(116.347496,39.970191));
	marker.setIcon("/logo.png");
	marker.setLabel("HBuilder");
	var bubble = new plus.maps.Bubble("打造最好的HTML5移动开发工具");
	marker.setBubble(bubble);
	map.addOverlay(marker);
}
// 删除标点
function removeMarker(){
	map.removeOverlay(marker);
	delete marker;
	marker=null;
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		向地图中添加覆盖物<br/>
		<button onclick="addMarker()">添加标点</button>
		<button onclick="removeMarker()">删除标点</button><br/>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

reset

重置地图


void mapObj.reset();
						

说明:

此方法用于重新设置地图,恢复地图的初始化时的中心点和缩放级别。 该方法将导致显示内容将立即更新。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 重置地图
function resetMap(){
	map.reset();
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		重置地图 - 用户操作移动、缩放地图后重置上次设置的中心点和缩放级别<br/>
		<button onclick="resetMap()">Reset</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

resize

重设地图控件大小


void mapObj.resize();
						

说明:

此方法用于重新计算地图控件大小,保持与构造时传入DOM元素的大小及位置一致。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 改变地图大小
function resizeMap(){
	em.style.width = "50%";
	map.resize();
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		重设地图控件大小<br/>
		<button onclick="resizeMap()">Resize</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

setCenter

设置地图的中心点


void mapObj.setCenter( center );
						

说明:

此方法用于设置地图的中心点,用于切换当前显示地图位置。 该方法改变中心点后地图显示内容将立即更新; 该方法不会改变地图显示的缩放级别。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 设置地图的中心点
function setCenter(){
	var center = new plus.maps.Point( 118.123, 35.456 );
	map.setCenter( center );
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		设置地图的中心点<br/>
		<button onclick="setCenter()">SetCenter</button>
		<div id="map">地图加载中...</div>
	</body>
</html>					

uni-app使用plus注意事项

setMapType

设置地图的视图类型


void mapObj.setMapType( type );
						

说明:

此方法用于设置地图类型,默认为普通街道视图。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 街道视图
function normalMap(){
	map.setMapType( plus.maps.MapType.MAPTYPE_NORMAL );
}
// 卫星视图
function stelliteMap(){
	map.setMapType( plus.maps.MapType.MAPTYPE_SATELLITE );
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		设置地图类型<br/>
		<button onclick="normalMap()">街道视图</button>
		<button onclick="stelliteMap()">卫星视图</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

setStyles

设置地图控件的配置参数


void mapObj.setStyles(styles);
						

说明:

用于动态更新地图控件的参数。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var map = null;
// 创建地图控件
function createMap() {
	if(!map){
		map = plus.maps.create('map', {
			top:'100px',
			left:'0px',
			width: '100%',
			height: '200px',
			position: 'static'
		});
		plus.webview.currentWebview().append(map);
	}
}
// 更新地图控件
function updateMap() {
	map.setStyles({
		top:'200px'		// 调整地图的位置
	});
}
		</script>
		<style type="text/css">
*{
	-webkit-user-select: none;
}
html,body{
	margin: 0px;
	padding: 0px;
	height: 100%;
}
		</style>
	</head>
	<body>
		<button onclick="createMap()">创建地图控件</button>
		<button onclick="updateMap()">更新地图控件</button>
	</body>
</html>
						

uni-app使用plus注意事项

setTraffic

是否打开地图交通信息图层


void mapObj.setTraffic( traffic );
						

说明:

此方法用于设置是否打开地图交通信息图层,默认不显示。 该方法改变是否显示交通图层后地图显示内容将立即更新。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 打开地图交通信息图层
function showTraffic(){
	map.setTraffic( true );
}
// 关闭地图交通信息图层
function hideTraffic(){
	map.setTraffic( false );
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		设置是否打开地图交通信息图层<br/>
		<button onclick="showTraffic()">显示交通信息</button>
		<button onclick="hideTraffic()">关闭交通信息</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

setZoom

设置地图的缩放级别


void mapObj.setZoom( zoom );
						

说明:

此方法用于设置地图的缩放级别,用于切换当前显示地图缩放级别。 该方法改变缩放级别后地图显示内容将立即更新; 该方法不会改变地图显示区域,以当前地图显示的中心点位置来缩放地图。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 设置地图的缩放级别
function setZoom(){
	map.setZoom( 22 );
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		设置地图的缩放级别<br/>
		<button onclick="setZoom()">SetZoom</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

show

显示地图控件


void mapObj.show();
						

说明:

此方法用于显示地图控件,通常在隐藏后调用此方法来显示。 如果地图已经显示再调用此方法将无效果。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 显示地图
function showMap(){
	map.show();
}
// 隐藏地图
function hideMap(){
	map.hide();
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		显示地图控件<br/>
		<button onclick="showMap()">显示地图</button>
		<button onclick="hideMap()">隐藏地图</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

showUserLocation

显示用户位置


void mapObj.showUserLocation( display );
						

说明:

此方法将在地图上显示用户位置信息。 显示用户位置将打开定位设备。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 打开用户位置
function showUserLocation(){
	map.showUserLocation( true );
}
// 关闭用户位置
function hideUserLocation(){
	map.showUserLocation( false );
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		显示用户位置<br/>
		<button onclick="showUserLocation()">显示用户位置</button>
		<button onclick="hideUserLocation()">关闭用户位置</button>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

showZoomControls

设置是否显示地图内置缩放控件


void mapObj.showZoomControls( display );
						

说明:

此方法将在地图上显示内置缩放控件。

参数:

返回值:

void : 无

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
// 打开用户位置
function showZoomControls(){
	map.showZoomControls( true );
}
// 关闭用户位置
function hideZoomControls(){
	map.showZoomControls( false );
}
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		设置是否显示地图内置缩放控件<br/>
		<button onclick="showZoomControls()">显示缩放控件</button>
		<button onclick="hideZoomControls()">关闭缩放控件</button><br/>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

onclick

用户点击地图事件


mapObj.onclick = function ( point ) {
	// JS code.
}
						

说明:

ClickEventHandler 类型

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
	map.onclick = function( point ){
		alert( JSON.stringify(point) );
	}
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		用户点击地图事件<br/>
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

onstatuschanged

地图状态改变事件


mapObj.onstatuschanged = function( event ){
	// JS code.
}
						

说明:

StatusChangedEventHandler 类型

用户拖动、缩放地图等操作完成后触发。

示例:


<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8"/>
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
		<title>Map Example</title>
		<script type="text/javascript">
var em=null,map=null;
// H5 plus事件处理
function plusReady(){
	// 确保DOM解析完成
	if(!em||!window.plus||map){return};
	map = new plus.maps.Map("map");
	map.centerAndZoom( new plus.maps.Point(116.3977,39.906016), 12 );
	map.onstatuschanged = function( e ){
		alert( "StatusChanged: "+JSON.stringify(e) );
	}
}
if(window.plus){
	plusReady();
}else{
	document.addEventListener("plusready",plusReady,false);
}
// DOMContentloaded事件处理
document.addEventListener("DOMContentLoaded",function(){
	em=document.getElementById("map");
	plusReady();
},false);
		</script>
		<style type="text/css">
#map {
	width: 100%;
	position: fixed;
	top: 100px;
	bottom: 0px;
	line-height: 200px;
	text-align: center;
	background: #FFFFFF;
}
		</style>
	</head>
	<body>
		地图状态改变事件<br/>用户拖动或缩放时触发。
		<div id="map">地图加载中...</div>
	</body>
</html>
						

uni-app使用plus注意事项

MapStyles

地图控件对象的参数


interface plus.maps.MapStyles {
	attribute Point center;
	attribute Number zoom;
	attribute MapType type;
	attribute Boolean traffic;
	attribute Boolean zoomControls;
	
	attribute String top;
	attribute String left;
	attribute String width;
	attribute String height;
	attribute String position;
}
				

说明:

设置地图对象显示时使用的参数,如地图的中心位置、缩放级别等。

属性:

GeocodeOptions

地理编码转换的参数

属性:

CoordinateConvertOptions

地图坐标转换的参数

属性:

Point

Point对象用于表示地图元素的坐标

说明:

常用语对地图上元素进行定位时使用。

构造:

方法:

Point(lng,lat)

创建Point对象


var ptObj = new plus.maps.Point( lng, lat );
						

参数:

返回值:

Point : 创建的坐标对象

示例:


// 创建地图坐标对象
var pt1 = new plus.maps.Point( 116.123, 36.456 );
						

uni-app使用plus注意事项

setLng

设置坐标点的经度


void ptObj.setLng( lng );
						

参数:

返回值:

void : 无

getLng

获取坐标的经度


Number ptObj.getLng();
						

参数:

返回值:

Number : 坐标的经度

setLat

设置坐标的纬度


void ptObj.setLat( lat );
						

参数:

返回值:

void : 无

getLat

获取坐标的纬度


Number ptObj.getLat();
						

参数:

返回值:

Number : 坐标的纬度

equals

判断两个坐标点是否相等


Boolean ptObj.equals( Point pt );
						

参数:

返回值:

Boolean : 坐标对象是否相等,相等则返回true,否则返回false。

示例:


var pt1 = new plus.maps.Point( 116.123, 36.456 );
var pt2 = new plus.maps.Point( 117.234, 37.567 );
var pt3 = new plus.maps.Point( 117.789, 36.456 );
alert( pt1.equals(pt2) ); // 提示false
alert( pt1.equals(pt3) ); // 提示false
						

uni-app使用plus注意事项

Bounds

地理区域

说明:

有西南及东北坐标点数据组成的矩形区域。

构造:

方法:

Bounds(northeast,southwest)

创建Bounds对象


var bounds = new plus.maps.Bounds(northeast, southwest);
						

参数:

返回值:

Bounds : 创建的Bounds对象

示例:


// 创建地理区域对象
var bounds = new plus.maps.Bounds( new plus.maps.Point(116.123,36.456), new plus.maps.Point(116.111,36.401) );
						

uni-app使用plus注意事项

Bounds(nelng,nelat,swlng,swlat)

创建Bounds对象


var bounds = new plus.maps.Bounds( nelng, nelat, swlng, swlat );
						

参数:

返回值:

Bounds : 创建的Bounds对象

示例:


// 创建地理区域对象
var bounds = new plus.maps.Bounds( 116.123, 36.456, 116.111, 36.401 );
						

uni-app使用plus注意事项

setNorthEast

设置地理区域的东北坐标点


void bounds.setNorthEast( point );
						

说明:

原方法名为setNorthEase,HBuilderX2.5.5+版本后已修正,原方法仍兼容支持。

参数:

返回值:

void : 无

getNorthEast

地理区域的东北坐标点


Point bounds.getNorthEast();
						

说明:

原方法名为getNorthEase,HBuilderX2.5.5+版本后已修正,原方法仍兼容支持。

参数:

返回值:

Point : 东北坐标点

setSouthWest

设置地理区域的西南坐标点


void bounds.setSouthWest( point );
						

参数:

返回值:

void : 无

getSouthWest

地理区域的西南坐标点


Point bounds.getSouthWest();
						

参数:

返回值:

Point : 西南坐标点

contains

判断制定的坐标是否在地理区域中


Boolean bounds.contains( point );
						

参数:

返回值:

Boolean : 地理区域包含指定的坐标点,相等则返回true,否则返回false。

示例:


var bd1 = new plus.maps.Bounds( 116.123, 36.456, 116.111, 36.401 );
var pt1 = new plus.maps.Point( 116.120, 36.450 );
var pt1 = new plus.maps.Point( 117.234, 37.567 );
alert( bd1.contains(pt1) ); // 提示true
alert( bd1.contains(pt2) ); // 提示false
						

uni-app使用plus注意事项

equals

判断两个地理区域是否相等


Boolean bounds.equals( Bounds bounds );
						

参数:

返回值:

Boolean : 地理区域对象是否相等,相等则返回true,否则返回false。

示例:


var bd1 = new plus.maps.Bounds( 116.123, 36.456, 116.111, 36.401 );
var bd2 = new plus.maps.Bounds( 117.234, 37.567, 116.224, 36.557 );
var bd3 = new plus.maps.Bounds( 116.123, 36.456, 116.111, 36.401 );
alert( bd1.equals(bd2) ); // 提示false
alert( bd1.equals(bd3) ); // 提示false
						

uni-app使用plus注意事项

getCenter

获取地理区域的中心点坐标


Point bounds.getCenter();
						

参数:

返回值:

Point : 地理区域的中心坐标点,如果地理区域无效则返回null。

示例:


var bd1 = new plus.maps.Bounds( 116.123, 36.456, 116.111, 36.401 );
var center = bd1.getCenter();// (116.117,36.4285)
						

uni-app使用plus注意事项

MapType

地图视图类型

常量:

Overlay

地图覆盖物基类对象


interface Overlay {
	function Boolean isVisible();
	function void show();
	function void hide();
}
				

说明:

Overlay是地图上显示元素的基类,用于抽象地图元素,不用于实例化。

方法:

isVisible

判断地图覆盖物是否可见


Boolean overlayObj.isVisible();
						

说明:

地图覆盖物对象默认为可见;地图覆盖物对象是否可见由其自身状态决定,不管其是否被添加到地图层中。

参数:

返回值:

Boolean : 覆盖物在地图上可见则返回true,否则返回false。

show

显示地图上的覆盖物


void overlayObj.show();
						

说明:

常用于地图覆盖物在隐藏后调用此方法来显示。 只有添加到地图上的覆盖物才能看到效果; 如果覆盖物对象已经在地图上显示再调用此方法将无效果。

参数:

返回值:

void : 无

hide

隐藏地图上的覆盖物


void overlayObj.show();
						

说明:

常用于地图覆盖物在显示后调用此方法来隐藏。 只有添加到地图上的覆盖物才能看到效果; 如果覆盖物对象已经在地图上隐藏再调用此方法将无效果。

参数:

返回值:

void : 无

Marker

地图上显示的标点对象

说明:

从Overlay对象继承而来,可通过Map对象的addOverlay()方法将对象添加地图中。

构造:

方法:

事件:

Marker( point )

创建地图标点Marker对象


var markObj = new plus.maps.Marker( point );
						

参数:

返回值:

Marker : 创建好的地图标点对象

示例:


	var marker=new plus.maps.Marker(new plus.maps.Point(116.347496,39.970191));
	marker.setIcon("/logo.png");
	marker.setLabel("HBuilder");
	var bubble = new plus.maps.Bubble("打造最好的HTML5移动开发工具");
	marker.setBubble(bubble);
	map.addOverlay(marker);
						

uni-app使用plus注意事项

bringToTop

覆盖物显示到最上层


void overlayObj.bringToTop();
						

说明:

常用于覆盖物相互覆盖时调整覆盖物的显示顺序。 只有添加到地图上的覆盖物才能看到效果; 如果覆盖物对象已经在地图上隐藏再调用此方法将无效果。

参数:

返回值:

void : 无

平台支持:

setPoint

设置标点对象的坐标


void markObj.setPoint( point );
						

说明:

标点在设置新坐标后将在地图上立即更新标点位置。

参数:

返回值:

void : 无

getPoint

获取标点的坐标


Point markObj.getPoint();
						

参数:

返回值:

Point : 标点的坐标对象

setIcon

设置标点上显示的图标


void markObj.setIcon( icon );
						

说明:

若未设置则显示默认标点图标,已添加的标点在设置新值后将在地图上立即更新标点内容。

参数:

返回值:

void : 无

setIcons

设置标点上显示的图标数组


void markObj.setIcons( icons, period );
						

说明:

设置图标数组后则按照指定的间隔时间轮播数组中图标。 设置图标数组后将忽略setIcon方法设置的图标,未设置则显示setIcon设置的图标。

参数:

返回值:

void : 无

setLabel

设置标点上显示的文本标注


void markObj.setLabel( label );
						

说明:

若未设置则不显示标注(默认为空字符串),已添加的标点在设置新值后将在地图上立即更新标点内容。

参数:

返回值:

void : 无

getLabel

获取标点上显示的文本标注


String markObj.getLabel();
						

参数:

返回值:

String : 标点的标注文本内容

setBubble

设置标点的气泡内容


void markObj.setBubble( buuble, pop );
						

说明:

设置气泡内容后,用户点击标点时弹出则弹出气泡。 注意:用户点击标点时先弹出标点关联的气泡,再响应标点的onclick事件。

参数:

返回值:

void : 无

getBubble

获取标点上显示的文本标注


Bubble markObj.getBubble();
						

说明:

如果没有设置关联的气泡对象则返回null。

参数:

返回值:

Bubble : 标点关联的气泡对象

hideBubble

隐藏标点上显示的气泡


void markObj.hideBubble();
						

说明:

如果没有设置关联的气泡对象或者气泡对象没有弹出显示,则不做任何操作。

参数:

返回值:

void : 无

setDraggable

设置标点的是否允许拖拽


void markObj.setDraggable( draggable );
						

说明:

设置标点可拖拽后,用户按住标点后拖动,标点会跟随手的拖拽而移动。 拖拽后会更新标点的坐标信息。 注:拖动前需要先在标点上长按。

参数:

返回值:

void : 无

isDraggable

获取标点是否允许拖拽


Boolean markObj.isDraggable();
						

参数:

返回值:

Boolean : true表示标点可拖拽,false表示标点不可拖拽

onclick

用户点击地图标点事件


markObj.onclick = function ( marker ) {
	// Click code.
}
						

说明:

OverlayClickEventHandler 类型

示例:


// 用户点击标点将弹出标点上的文本 
markObj.onclick = function ( marker ) {
	alert( "Clicked:" + markObj.getLabel() );
}
						

uni-app使用plus注意事项

onDrag

用户拖拽标点事件


markObj.onDrag = function ( marker ) {
	// Click code.
}
						

说明:

OverlayDragEventHandler 类型

可调用标点对象的markObj.setDraggable(true)方法设置标点允许拖拽,当用户拖拽标点对象时触发此事件。

平台支持:

示例:


// 用户点击标点将弹出标点上的文本 
markObj.onDrag = function ( target ) {
	alert( "Drag:" + JSON.stringify(target.getPoint()) );
}
						

uni-app使用plus注意事项

Bubble

地图上显示的气泡对象

说明:

此对象不能直接添加到地图上显示,只可关联到地图标点覆盖物上,用户点击标点时弹出显示。

构造:

方法:

事件:

Bubble( label )

创建气泡对象


var bubObj = new plus.maps.Bubble( label );
						

参数:

返回值:

Bubble : 气泡对象

示例:


	var marker=new plus.maps.Marker(new plus.maps.Point(116.347496,39.970191));
	marker.setIcon("/logo.png");
	marker.setLabel("HBuilder");
	var bubble = new plus.maps.Bubble("打造最好的HTML5移动开发工具");
	marker.setBubble(bubble);
	map.addOverlay(marker);
						

uni-app使用plus注意事项

setIcon

设置气泡上显示的图标


void bubObj.setIcon( icon );
						

说明:

若为设置则无默认图标,已添加的显示的气泡在设置新值后将在地图上立即更新内容。

参数:

返回值:

void : 无

setLabel

设置气泡上显示的文字内容


void bubObj.setLabel( label );
						

说明:

若未设置则不显示文字(默认为空字符串),已添加的显示的气泡在设置新值后将在地图上立即更新内容。

参数:

返回值:

void : 无

getLabel

获取气泡上显示的文字内容


String bubObj.getLabel();
						

参数:

返回值:

String : 气泡上显示的文字内容

belongMarker

获取气泡所属的标点对象


Marker bubObj.belongMarker();
						

参数:

返回值:

Marker : 气泡所属的标点对象。

loadImage

从图片加载气泡显示的内容


void bubObj.loadImage( path );
						

说明:

通过加载图片来自定义气泡显示的内容,加载图片后将清空气泡使用的图标及文字内容。

参数:

返回值:

void : 无

loadImageDataURL

从图片数据加载气泡显示的内容


void bubObj.loadImageDataURL( data );
						

说明:

通过加载图片数据来自定义气泡显示的内容,加载图片后将清空气泡使用的图标及文字内容。 图片数据可通过Canvas自定义绘制后调用toDataURL来获取。

参数:

返回值:

void : 无

onclick

用户点击气泡事件


bubObj.onclick = function ( bubble ) {
	// JS code. 
} 
						

说明:

OverlayClickEventHandler 类型

示例:


// 用户点击气泡将弹出气泡上的标题信息 
bubObj.onclick = function ( bubble ) {
	alert( "Clicked:" + bubble.getLabel() );
}
						

uni-app使用plus注意事项

Circle

地图上显示的圆圈对象

说明:

从Overlay对象继承而来,可通过Map对象的addOverlay()方法将对象添加地图中。

构造:

方法:

Circle( center, radius )

创建Circle对象


var circleObj = new plus.maps.Circle( center, radius );
						

参数:

返回值:

Circle : 地图上圆圈对象

示例:


	var circleObj=new plus.maps.Circle(new plus.maps.Point(116.347496,39.970191),500);
	map.addOverlay(circleObj);
						

uni-app使用plus注意事项

setCenter

设置圆圈中心点的经纬度坐标


void circleObj.setCenter( point );
						

说明:

该方法设置将导致地图中的圆圈立即更新。

参数:

返回值:

void : 无

示例:


// 设置新的圆圈中心点 
circleObj.setCenter( new plus.maps.Point(116.0,39.0) );
						

uni-app使用plus注意事项

getCenter

获取圆圈中心点的坐标


Point circleObj.getCenter();
						

参数:

返回值:

Point : 圆圈中心点的坐标对象

setRadius

设置圆圈的半径,单位为米


void circleObj.setRadius( radius );
						

说明:

该方法设置将导致地图中的圆圈立即更新。

参数:

返回值:

void : 无

示例:


// 设置新的圆圈半径
circleObj.setRadius( 1000 );
						

uni-app使用plus注意事项

getRadius

获取圆圈的半径


Number circleObj.getRadius();
						

参数:

返回值:

Number : 圆圈的半径,单位为米。

setStrokeColor

设置圆圈的边框颜色


void circleObj.setStrokeColor( color );
						

说明:

圆圈默认的圆圈边框颜色为黑色"#000000",该方法设置将导致地图中的圆圈立即更新。

参数:

返回值:

void : 无

示例:


// 设置圆圈的边框颜色为红色
circleObj.setStorkeColor( "#ff0000" );
						

uni-app使用plus注意事项

getStrokeColor

获取圆圈的边框颜色


String circleObj.getStrokeColor();
						

参数:

返回值:

String : 圆圈边框的线条颜色,格式为"#RRGGBB",如黑色为"#000000"。

setStrokeOpacity

设置圆圈的边框透明度


void circleObj.setStrokeOpacity( opacity );
						

说明:

圆圈默认值为不透明。 如果设置的值不合法则保持原有的透明度;该方法设置将导致地图中的圆圈立即更新。

参数:

返回值:

void : 无

示例:


// 设置圆圈边框为半透明
circleObj.setStrokeOpacity( 0.5 );
						

uni-app使用plus注意事项

getStrokeOpacity

获取圆圈边框的透明度


Number circleObj.getStrokeOpacity();
						

参数:

返回值:

Number : 圆圈的透明度,取值范围为0-1,0表示全透明,1表示不透明。

setFillColor

设置圆圈的填充颜色


void circleObj.setFillColor( color );
						

说明:

圆圈默认的圆圈填充颜色为无色,该方法设置将导致地图中的圆圈立即更新。

参数:

返回值:

void : 无

示例:


// 设置圆圈的填充颜色为红色
circleObj.setFillColor( "#ff0000" );
						

uni-app使用plus注意事项

getFillColor

获取圆圈的填充颜色


String circleObj.getFillColor();
						

说明:

如果填充颜色为无色,则返回空字符串。

参数:

返回值:

String : 圆圈的填充颜色,格式为"#RRGGBB",如黑色为"#000000"。

setFillOpacity

设置圆圈填充颜色的透明度


void circleObj.setFillOpacity( opacity );
						

说明:

圆圈默认值为不透明。 如果设置的值不合法则保持原有的透明度;该方法设置将导致地图中的圆圈立即更新。

参数:

返回值:

void : 无

示例:


// 设置圆圈填充颜色为半透明
circleObj.setFillOpacity( 0.5 );
						

uni-app使用plus注意事项

getFillOpacity

获取圆圈填充色的透明度


Number circleObj.getFillOpacity();
						

参数:

返回值:

Number : 圆圈填充色的透明度,取值范围为0-1,0表示全透明,1表示不透明。

setLineWidth

设置圆圈边框的线条宽度


void circleObj.setLineWidth( width );
						

说明:

圆圈边框的默认值为5。 如果设置的值不合法则保持原有的宽度;该方法设置将导致地图中的圆圈立即更新。

参数:

返回值:

void : 无

示例:


// 设置圆圈边框线条为宽度为10
circleObj.setLineWidth( 10 );
						

uni-app使用plus注意事项

getLineWidth

获取圆圈边框的线条宽度


Number circleObj.getLineWidth();
						

参数:

返回值:

Number : 圆圈边框的线条宽度,正整数。

Polyline

地图上显示的折线对象

说明:

从Overlay对象继承而来,可通过Map对象的addOverlay()方法将对象添加地图中。

构造:

方法:

Polyline( points )

创建Polyline对象


var polylineObj = new plus.maps.Polyline( points );
						

参数:

返回值:

Polyline : 地图上折线对象

示例:


// 创建一个折线对象
var points = new Array( new plus.maps.Point(116.0,39.0), new plus.maps.Point(115.0,38.0), new plus.maps.Point(117.0,38.0) );
var polylineObj = new plus.maps.Polyline( points );
						

uni-app使用plus注意事项

setPath

设置折线的顶点坐标


void polylineObj.setPath( points );
						

说明:

该方法设置将导致地图中的折线立即更新。

参数:

返回值:

void : 无

示例:


// 设置新的折线顶点
var points = new Array( new plus.maps.Point(116.0,39.0), new plus.maps.Point(115.0,38.0), new plus.maps.Point(117.0,38.0) );
polylineObj.setPath( points );
						

uni-app使用plus注意事项

getPath

获取折线的顶点坐标


Array<Point> polylineObj.getPath();
						

参数:

返回值:

Array[Point] : 折线的顶点坐标数组。

setStrokeColor

设置折线的颜色


void polylineObj.setStrokeColor( color );
						

说明:

折线默认的颜色为黑色"#000000",该方法设置将导致地图中的折线立即更新。

参数:

返回值:

void : 无

示例:


// 设置折线为红色
polylineObj.setStorkeColor( "#ff0000" );
						

uni-app使用plus注意事项

getStrokeColor

获取折线的颜色


String polylineObj.getStrokeColor();
						

参数:

返回值:

String : 折线的颜色,格式为"#RRGGBB",如黑色为"#000000"。

setStrokeOpacity

设置折线的透明度


void polylineObj.setStrokeOpacity( opacity );
						

说明:

折线默认值为不透明。 如果设置的值不合法则保持原有的透明度;该方法设置将导致地图中的折线立即更新。

参数:

返回值:

void : 无

示例:


// 设置折线为半透明
polylineObj.setStrokeOpacity( 0.5 ); 
						

uni-app使用plus注意事项

getStrokeOpacity

获取折线的透明度


Number polylineObj.getStrokeOpacity();
						

参数:

返回值:

Number : 折线的透明度,取值范围为0-1,0表示全透明,1表示不透明。

setLineWidth

设置折线的线条宽度


void polylineObj.setLineWidth( width );
						

说明:

折线线条的宽度默认值为5。 如果设置的值不合法则保持原有的宽度;该方法设置将导致地图中的折线立即更新。

参数:

返回值:

void : 无

示例:


// 设置折线为宽度为10
polylineObj.setLineWidth( 10 );
						

uni-app使用plus注意事项

getLineWidth

获取折线的线条宽度


Number polylineObj.getLineWidth();
						

参数:

返回值:

Number : 折线的线条宽度,正整数。

Polygon

地图上显示的多边形对象

说明:

从Overlay对象继承而来,可通过Map对象的addOverlay()方法将对象添加地图中。

构造:

方法:

Polygon( points )

创建Polygon对象


var polygonObj = new plus.maps.Polygon( points );
						

参数:

返回值:

Polygon : 地图上多边形对象

示例:


// 创建一个多边形对象
var points = new Array( new plus.maps.Point(116.0,39.0), new plus.maps.Point(115.0,38.0), new plus.maps.Point(117.0,38.0) );
var polygonObj = new plus.maps.Polygon( points );
						

uni-app使用plus注意事项

setPath

设置多边形的顶点坐标


void polygonObj.setPath( points );
						

说明:

该方法设置将导致地图中的多边形立即更新。

参数:

返回值:

void : 无

示例:


// 设置新的多边形顶点
var points = new Array( new plus.maps.Point(116.0,39.0), new plus.maps.Point(115.0,38.0), new plus.maps.Point(117.0,38.0) );
polygonObj.setPath( points );
						

uni-app使用plus注意事项

getPath

获取多边形的顶点坐标


Array<Point> polygonObj.getPath();
						

参数:

返回值:

Array[Point] : 多边形的顶点坐标数组。

setStrokeColor

设置多边形的颜色


void polygonObj.setStrokeColor( color );
						

说明:

多边形边框默认的颜色为黑色"#000000",该方法设置将导致地图中的多边形立即更新。

参数:

返回值:

void : 无

示例:


// 设置多边形边框为红色
polygonObj.setStorkeColor( "#ff0000" );
						

uni-app使用plus注意事项

getStrokeColor

获取多边形边框的颜色


String polygonObj.getStrokeColor();
						

参数:

返回值:

String : 多边形边框的颜色,格式为"#RRGGBB",如黑色为"#000000"。

setStrokeOpacity

设置多边形的透明度


void polygonObj.setStrokeOpacity( opacity );
						

说明:

多边形边框默认值为不透明。 如果设置的值不合法则保持原有的透明度;该方法设置将导致地图中的多边形立即更新。

参数:

返回值:

void : 无

示例:


// 设置多边形边框为半透明
polygonObj.setStrokeOpacity( 0.5 ); 
						

uni-app使用plus注意事项

getStrokeOpacity

获取多边形边框的透明度


Number polygonObj.getStrokeOpacity();
						

参数:

返回值:

Number : 多边形边框的透明度,取值范围为0-1,0表示全透明,1表示不透明。

setFillColor

设置多边形的填充颜色


void polygonObj.setStrokeColor( color );
						

说明:

多边形默认填充颜色为无色,该方法设置将导致地图中的多边形立即更新。

参数:

返回值:

void : 无

示例:


// 设置多边形的填充颜色为红色
polygonObj.setStorkeColor( "#ff0000" );
						

uni-app使用plus注意事项

getFillColor

获取多边形的填充色


String polygonObj.getFillColor();
						

说明:

如果填充色为无色,则返回空字符串。

参数:

返回值:

String : 多边形的填充色,格式为"#RRGGBB",如黑色为"#000000"。

setFillOpacity

设置多边形填充色的透明度


void polygonObj.setFillOpacity( opacity );
						

说明:

多边形填充色默认值为不透明。 如果设置的值不合法则保持原有的透明度;该方法设置将导致地图中的多边形立即更新。

参数:

返回值:

void : 无

示例:


// 设置多边形填充色为半透明
polygonObj.setFillOpacity( 0.5 );
						

uni-app使用plus注意事项

getFillOpacity

获取多边形填充色的透明度


Number polygonObj.getFillOpacity();
						

参数:

返回值:

Number : 多边形填充色的透明度,取值范围为0-1,0表示全透明,1表示不透明。

setLineWidth

设置多边形的边框宽度


void polygonObj.setLineWidth( width );
						

说明:

多边形边框的宽度默认值为5。 如果设置的值不合法则保持原有的宽度;该方法设置将导致地图中的多边形立即更新。

参数:

返回值:

void : 无

示例:


// 设置多边形为宽度为10
polygonObj.setLineWidth( 10 );
						

uni-app使用plus注意事项

getLineWidth

获取多边形边框的宽度


Number polygonObj.getLineWidth();
						

参数:

返回值:

Number : 多边形的边框宽度,正整数。

Search

地图检索对象

说明:

Search对象用于管理地图上的检索功能,包括位置检索、周边检索和范围检索。

构造:

方法:

事件:

Search( map )

创建Search对象


var searchObj = new plus.maps.Search( map );
						

参数:

返回值:

Search : 地图检索对象

示例:


	// 将检索到的第一条信息作为标点添加到地图中
	var searchObj = new plus.maps.Search( map );
	searchObj.onPoiSearchComplete = function( state, result ){
		console.log("onPoiSearchComplete: "+state+" , "+result.currentNumber);
		if ( state == 0 ) {
			if ( result.currentNumber <= 0 ) {
				alert( "没有检索到结果" );
			}
			for(var i=0; i<result.currentNumber; i++){
				var pos = result.getPosition( i );
				var marker = new plus.maps.Marker( pos.point );
				marker.setLabel( pos.name );
				map.addOverlay( marker );
			}
		} else {
			alert( "检索失败" );
		}
	}
	var pt = new plus.maps.Point( 116.404, 39.915 ); // 天安门坐标
	searchObj.poiSearchNearBy( "肯德基", pt, 1000 );
						

uni-app使用plus注意事项

setPageCapacity

设置检索返回结果每页的信息数目


void searchObj.setPageCapacity( capacity );
						

说明:

地图检索结果是按页返回的,默认检索每页返回10条信息。

参数:

返回值:

void : 无

getPageCapacity

获取检索返回结果每页的信息数目


Number searchObj.getPageCapacity();
						

参数:

返回值:

Number : 检索返回结果每页的信息数目

poiSearchInCity

城市兴趣点检索


Boolean searchObj.poiSearchInCity( city, key, index );
						

说明:

检索结果将通过onPoiSearchComplete事件返回。 如果调用此方法时已经处于POI检索操作中,则终止上次检索操作,重新开始新的检索。

参数:

返回值:

Boolean : 检索成功返回true,否则返回false。

示例:


// 在北京对关键字“肯德基”进行检索
var searchObj = new plus.maps.Search( map );
searchObj. poiSearchInCity( "北京", "肯德基" );
						

uni-app使用plus注意事项

poiSearchNearBy

周边检索


Boolean searchObj.poiSearchNearBy( key, pt, radius, index );
						

说明:

周边检索根据中心点、半径与检索词进行检索,检索完成后触发onPoiSearchComplete()事件。 若调用此方法时对象处于POI检索操作中,则终止上次检索操作,重新开始新的检索。

参数:

返回值:

Boolean : 检索成功返回true,否则返回false。

示例:


// 在天安门周围1千米内对关键字“肯德基”进行检索
var searchObj = new plus.maps.Search( map );
var pt = new plus.maps.Point( 116.404, 39.915 ); // 天安门坐标
searchObj. poiSearchNearBy( "肯德基", pt, 1000 );
						

uni-app使用plus注意事项

poiSearchInbounds

指定范围检索


Boolean searchObj.poiSearchInbounds( key, ptLB, ptRT, index );
						

说明:

根据范围和检索词进行检索,检索完成后触发onPoiSearchComplete()事件。 若调用此方法时对象处于POI检索操作中,则终止上次检索操作,重新开始新的检索。

参数:

返回值:

Boolean : 检索成功返回true,否则返回false。

setTransitPolicy

设置公交路线检索策略


Boolean searchObj.poiSearchInbounds(policy);
						

说明:

默认采用maps.SearchPolicy.TRANSIT_TIME_FIRST策略。 需在调用transitSearch()方法前设置的策略才生效; 如果设置非法值则认为设置失败,采用上次设置的检索策略并返回false。

参数:

返回值:

Boolean : 设置成功返回true,否则返回false。

transitSearch

公交路线检索


Boolean searchObj.transitSearch(start, end, city);
						

说明:

检索完成后触发onRouteSearchComplete()事件。 若调用此方法时对象处于检索操作中,则终止上次检索操作,重新开始新的检索。

参数:

返回值:

Boolean : 检索成功返回true,否则返回false。

示例:


function transitSearch(){
	// 在北京检索从天安门到大钟寺的公交线路
	var searchObj = new plus.maps.Search( map );
	searchObj.onRouteSearchComplete = function ( state, result ) {
		console.log("onRouteSearchComplete: "+state+" , "+result.routeNumber);
		if ( state == 0 ) {
			if ( result.routeNumber <= 0 ) {
				alert( "没有检索到结果" );
			}
			for(var i=0; i<result.routeNumber; i++){
				map.addOverlay( result.getRoute( i ) );
			}
		} else {
			alert( "检索失败" );
		}
	}
	searchObj.transitSearch( "天安门", "大钟寺", "北京" );
}
						

uni-app使用plus注意事项

setDrivingPolicy

设置驾车路线检索策略


Boolean searchObj.setDrivingPolicy(policy);
						

说明:

设置驾车路线检索策略,默认采用maps.SearchPolicy.DRIVING_TIME_FIRST策略。 如果设置非法值则认为设置失败,采用上次设置的检索策略并返回false;需在调用drivingSearch()方法前设置的策略才生效。

参数:

返回值:

Boolean : 设置成功返回true,否则返回false。

drivingSearch

驾车路线检索


Boolean searchObj.drivingSearch(start, startCity, end, endCity);
						

说明:

用于驾车路线检索,检索完成后触发onRouteSearchComplete()事件。 调用此方法时对象处于检索操作中,则终止上次检索操作,重新开始新的检索。

参数:

返回值:

Boolean : 检索成功返回true,否则返回false。

示例:


function drivingSearch(){
	// 检索从北京天安门到大钟寺的驾车线路
	var searchObj = new plus.maps.Search( map );
	searchObj.onRouteSearchComplete = function ( state, result ) {
		console.log("onRouteSearchComplete: "+state+" , "+result.routeNumber);
		if ( state == 0 ) {
			if ( result.routeNumber <= 0 ) {
				alert( "没有检索到结果" );
			}
			for(var i=0; i<result.routeNumber; i++){
				map.addOverlay( result.getRoute( i ) );
			}
		} else {
			alert( "检索失败" );
		}
	}
	searchObj.drivingSearch( "天安门", "北京", "大钟寺", "北京" );
}
						

uni-app使用plus注意事项

walkingSearch

步行路线检索


Boolean searchObj.walkingSearch(start, startCity, end, endCity);
						

说明:

用于步行路线检索,检索完成后触发onRouteSearchComplete()事件。 调用此方法时对象处于检索操作中,则终止上次检索操作,重新开始新的检索。

参数:

返回值:

Boolean : 检索成功返回true,否则返回false。

示例:


function walkingSearch(){
	// 检索从北京天安门到大钟寺的步行线路
	var searchObj = new plus.maps.Search( map );
	searchObj.onRouteSearchComplete = function ( state, result ) {
		console.log("onRouteSearchComplete: "+state+" , "+result.routeNumber);
		if ( state == 0 ) {
			if ( result.routeNumber <= 0 ) {
				alert( "没有检索到结果" );
			}
			for(var i=0; i<result.routeNumber; i++){
				map.addOverlay( result.getRoute( i ) );
			}
		} else {
			alert( "检索失败" );
		}
	}
	searchObj.walkingSearch( "天安门", "北京", "大钟寺", "北京" );
}
						

uni-app使用plus注意事项

onPoiSearchComplete

兴趣点检索完成事件


searchObj.onPoiSearchComplete = function(state, result){
	// JS Code.
}
						

说明:

PoiSearchCallback 类型

示例:


function mapSearch(){
	// 将检索到结果作为标点添加到地图中
	var searchObj = new plus.maps.Search( map );
	searchObj.onPoiSearchComplete = function( state, result ){
		console.log("onPoiSearchComplete: "+state+" , "+result.currentNumber);
		if ( state == 0 ) {
			if ( result.currentNumber <= 0 ) {
				alert( "没有检索到结果" );
			}
			for(var i=0; i<result.currentNumber; i++){
				var pos = result.getPosition( i );
				var marker = new plus.maps.Marker( pos.point );
				marker.setLabel( pos.name );
				map.addOverlay( marker );
			}
		} else {
			alert( "检索失败" );
		}
	}
	var pt = new plus.maps.Point( 116.404, 39.915 ); // 天安门坐标
	searchObj.poiSearchNearBy( "肯德基", pt, 2000 );
}
						

uni-app使用plus注意事项

onRouteSearchComplete

线路检索完成事件


searchObj.onRouteSearchComplete = function(state, result){
	// JS Code.
}
						

说明:

RouteSearchCallback 类型

示例:


function transitSearch(){
	// 在北京检索从天安门到大钟寺的公交线路
	var searchObj = new plus.maps.Search( map );
	searchObj.onRouteSearchComplete = function ( state, result ) {
		console.log("onRouteSearchComplete: "+state+" , "+result.routeNumber);
		if ( state == 0 ) {
			if ( result.routeNumber <= 0 ) {
				alert( "没有检索到结果" );
			}
			for(var i=0; i<result.routeNumber; i++){
				map.addOverlay( result.getRoute( i ) );
			}
		} else {
			alert( "检索失败" );
		}
	}
	searchObj.transitSearch( "天安门", "大钟寺", "北京" );
}
						

uni-app使用plus注意事项

SearchPolicy

检索策略类型

说明:

在线路检索时设置检索策略时使用。

常量:

SearchPoiResult

保存位置检索、周边检索和范围检索返回的结果

属性:

方法:

totalNumber

POI检索总结果数


poiResult.totalNumber;
						

说明:

Number 类型 只读属性

POI检索总结果数,若没有检索到则返回0。

currentNumber

当前页的POI检索结果数


poiResult.currentNumber;
						

说明:

Number 类型 只读属性

当前页POI检索结果数,若没有检索到则返回0。

pageNumber

本次POI检索的总页数


poiResult.pageNumber;
						

说明:

Number 类型 只读属性

本次POI检索的总页数,若没有检索到则返回0。

pageIndex

获取当前页的索引


poiResult.pageIndex;
						

说明:

Number 类型 只读属性

当前页的索引值,从0开始,即0表示第一页。

poiList

本次POI检索结果数组


poiResult.poiList;
						

说明:

Array 类型 只读属性

POI检索结果数组,Array数组对象,数组内容为Position对象。

getPosition

获取指定索引的检索结果


Position poiResult.getPosition( index ) ;
						

说明:

如果index值超出范围则返回null对象。

参数:

返回值:

Position : 指定索引的检索结果。

SearchRouteResult

保存位置检索、周边检索和范围检索返回的结果

说明:

不可通过new操作符创建SearchRouteResult对象,在触发onRouteSearchComplete()时自动创建。

属性:

方法:

startPosition

线路的起点位置


routeResult.startPosition;
						

说明:

Position 类型 只读属性

线路检索结果的起始位置点对象。

endPosition

线路的终点位置


poiResult.endPosition;
						

说明:

Position 类型 只读属性

线路检索结果的终点位置点对象。

routeNumber

本次线路检索的总方案数


routeResult.routeNumber;
						

说明:

Number 类型 只读属性

线路检索结果的方案数目,若未检索到有效结果则返回0。

routeList

线路检索结果数组


routeResult.routeList;
						

说明:

Array 类型 只读属性

线路检索结果数组,Array数组对象,数组内容为Route对象。

getRoute

获取指定索引的线路方案


Route poiResult.getRoute( index );
						

说明:

如果index值超出范围则返回null对象。

参数:

返回值:

Route : 指定索引的线路方案。

Position

检索结果的位置点

构造:

属性:

Position( point )

创建Position对象


var posObj = new plus.maps.Position( point );
						

参数:

返回值:

Position : 创建的Position对象。

示例:


// 创建检索位置点对象
var posObj = new plus.maps.Position( new plus.maps.Point(116.404,39.915) );
						

uni-app使用plus注意事项

point

位置点的经纬度坐标


posObj.point;
						

说明:

Point 类型 只读属性

如果没有经纬度坐标信息(如果公交、地铁路线数据等),则其值为undefined。

address

位置点的地址信息


posObj.address;
						

说明:

String 类型 只读属性

如果没有位置点的地址信息则返回空字符串。

city

位置点的所属城市信息


posObj.city;
						

说明:

String 类型 只读属性

如果没有位置点的所属城市信息则返回空字符串。

name

位置点的名称


posObj.name;
						

说明:

String 类型 只读属性

如果没有位置点的名称则返回空字符串。

phone

位置点的电话信息


posObj.phone;
						

说明:

String 类型 只读属性

如果没有位置点的电话信息则返回空字符串。

postcode

位置点的邮编信息


posObj.postcode;
						

说明:

String 类型 只读属性

如果没有位置点的邮编信息则返回空字符串。

Route

地图中的路线对象

说明:

从Overlay对象继承而来,可通过Map对象的addOverlay()方法将对象添加地图中。

构造:

属性:

Route( ptStart, ptEnd )

创建Route对象


var routeObj = new plus.maps.Route( ptStart, ptEnd );
						

参数:

返回值:

Route : 创建的Route对象。

示例:


// 创建Route线路对象
var routeObj = new plus.maps.Route( new plus.maps.Point(116.404,39.915), new plus.maps.Point(116.347496,39.970191) );
						

uni-app使用plus注意事项

startPoint

路线起点地理坐标点


routeObj.startPoint;
						

说明:

Point 类型 只读属性

endPoint

路线终点地理坐标点


routeObj.endPoint;
						

说明:

Point 类型 只读属性

pointCount

路线坐标点段数


routeObj.pointCount;
						

说明:

Point 类型 只读属性

pointList

路线的地理坐标点数组


routeObj.pointList;
						

说明:

Array 类型 只读属性

路线的地理坐标点数组,数组中保存Point对象。

distance

路线总距离


routeObj.distance;
						

说明:

Number 类型 只读属性

路线从起始点到终点的距离,单位为米。

routeTip

线路的提示信息


routeObj.routeTip;
						

说明:

String 类型 只读属性

线路提示信息,没有提示信息则返回空字符串。

GeocodeCallback

地理编码转换成功的回调函数


void onGeocodeSuccess( Event event ) {
	// JS code.
	var address = event.address;  // 转换后的地理位置
	var point = event.coord;  // 转换后的坐标信息
	var coordType = event.coordType;	// 转换后的坐标系类型
}
				

说明:

在地理编码转换成功触发,并返回转换结果。

参数:

返回值:

void : 无

CoordinateConvertCallback

坐标转换成功的回调函数


void onConvertSuccess( Event event ) {
	// JS code.
	var point = event.coord;  // 转换后的坐标值
	var coordType = event.coordType;	// 转换后的坐标系类型
}
				

说明:

在坐标转换成功触发,并返回转换结果。

参数:

返回值:

void : 无

DistanceCalculateCallback

距离计算成功的回调函数


void onCalculateSuccess( Event event ) {
	// JS code.
	var distance = event.distance;  // 转换后的距离值
}
				

说明:

在距离计算成功触发,并返回计算结果。

参数:

返回值:

void : 无

AreaCalculateCallback

地理区域面积计算成功的回调函数


void onCalculateSuccess( Event event ) {
	// JS code.
	var area = event.area;  // 计算后的面积值
}
				

说明:

在地理区域面积计算成功触发,并返回计算结果。

参数:

返回值:

void : 无

UserLocationCallback

获取用户当前位置信息成功回调


void onSuccess( state, point ) {
	// Get location code
}
				

参数:

返回值:

void : 无

ClickEventHandler

用户点击地图回调事件


void onClick( point ) {
	// Click code
}
				

参数:

返回值:

void : 无

StatusChangedEventHandler

地图状态变化回调事件


void onStatusChanged( event ) {
	// Click code
	var target = event.target;		// 状态变化的地图对象(plus.maps.Map)
	var bounds = event.bounds;		// 地图的可视地理区域(plus.maps.Bounds)
	var center = event.center;		// 地图的中心点坐标(plus.maps.Point)
	var zoom = event.zoom;			// 地图的缩放级别(Number)
}
				

参数:

返回值:

void : 无

OverlayClickEventHandler

用户点击地图覆盖物回调事件


void onClick( overlay ) {
	// Click code
}
				

参数:

返回值:

void : 无

OverlayDragEventHandler

用户拖拽覆盖物回调事件


void onDrag( target ) {
	// Click code
	var marker = target;    // 拖拽的覆盖物对象
}
				

参数:

返回值:

void : 无

PoiSearchCallback

兴趣点检索完成事件


void onPoiSearchComplete( state, result ) {
	// JS code.
}
				

说明:

在兴趣点检索完成时触发,并返回检索结果。

参数:

返回值:

void : 无

RouteSearchCallback

线路检索完成事件


void onRouteSearchComplete( state, result ) {
	// JS code.
}
				

说明:

在线路检索完成时触发,并返回检索结果。

参数:

返回值:

void : 无

SuccessCallback

地图操作成功回调函数


void onSuccess(){
	// Success code.
}
				

说明:

地图操作成功后触发回调函数。

参数:

返回值:

void : 无

ErrorCallback

地图操作失败的回调函数


function void onError( error ) {
	// Handle error
	var code = error.code; // 错误编码
	var message = error.message; // 错误描述信息
}
				

参数:

返回值:

void : 无