如何获取鼠标点击mapcontrol时的地图坐标

如何获取鼠标点击mapcontrol时的地图坐标,第1张

先是要用事件参数对象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上一点,如何获取该点坐标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9789140.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存