
先是要用事件参数对象e 来传递鼠标当前触发的事件对象,然后通过 SuperMapUtilitygetEvent(e);来获取这个对象。使用SuperMapUtilitygetMouseX( )和SuperMapUtilitygetMouseY( )来获取屏幕的x,y坐标,最后通过mapControlpixelToMapCoord( )来转换成地图地理坐标。 以上的 *** 作写到一个函数A里,通过在前台页面JavaScript里的mapControladd_mouseMove(A);实时触发。
用户通过点击地图上面的位置,在地图上面进行描点,然后再把获取的到的地理位置保存到地图上面的地址栏目中。
主要是百度地图API的使用
var map = new BMapMap("allmap"); //实例化一个地图对象var point = new
BMapPoint(116331398,39897445); //设置地图中心的位置
mapcenterAndZoom(point,12);
//设置地图元素的可视层
mapenableScrollWheelZoom();
//启用滚轮放大缩小,默认禁用
mapenableContinuousZoom();
//启用地图惯性拖拽,默认禁用
function myFun(result){
var cityName =
resultname;
mapsetCenter(cityName);
}
var myCity = new
BMapLocalCity();
myCityget(myFun);
i=0
//点击获取坐标
mapaddEventListener("click",function(e){
if(i === 0)
{
//存储经纬度
lng = epointlng;
lat =
epointlat;
//在地图上面描点
var marker = new BMapMarker(new
BMapPoint(lng,lat)); // 创建标注
mapaddOverlay(marker);
markerenableDragging(); //可拖拽
var gc = new
BMapGeocoder();
//获取地址的数据地址
var pt = epoint;
gcgetLocation(pt, function(rs){
var addComp =
rsaddressComponents;
address = addCompprovince + addCompcity +
addCompdistrict + addCompstreet + addCompstreetNumber;
//画图
var label = new BMapLabel(address,{offset:new
BMapSize(20,-10)});
markersetLabel(label);
});
i=1;
}
});
通过继承MapView类重写onTouchEvent方法来获取点击屏幕的位置,再通过接口Projection的 fromPixels 方法将点击位置转换为该点的地址坐标,并且将地图空间bMapView的类型由combaidumapapiMapView改为子类类型,本例中为combaidumapapidemoMapViewTest具体代码如下:
以上就是关于如何获取鼠标点击mapcontrol时的地图坐标全部的内容,包括:如何获取鼠标点击mapcontrol时的地图坐标、怎么用百度地图api自动获取当前位置(谷歌的也行)、百度地图开发:点击MapView上一点,如何获取该点坐标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)