地图点击定位

地图点击定位
1:首先我们需要知道自己点击的是哪个地方,这里拿街道来举例。首先,去数据库里面获取到街道的名称和ID,用from…in…select名称,ID,然后返回查询到的值;
代码如下:
public ActionResult SelectJieDao()
{
var JieDao = from tabJieDao in myModel.SMDTV_99
select new
{
tabJieDao.NAME,
tabJieDao.SmID
};
return Json(JieDao, JsonRequestBehavior.AllowGet);
}
2:返回以后我们用$.get方法,因为街道有很多,不止一个,而我们需要一个一个的点击的话,那么就需要先在外面放一个div盒子,弄好样式,然后用for循环将这些值一个一个的添加到div里面,然后给div设置样式,用append方法来向最外层div盒子里面添加div,完成的话我们就能看到浏览器上已经有街道的格子了;
代码:
$.get(“SelectJieDao”, function (data) {
for (var i = 0; i < data.length; i++) {
$("#JieDao").append("

" + data[i].NAME + “
”);
}
})
效果截图:

3:弄好页面以后我们接下来就是完成效果了。在上面添加div的时候已经弄了一个点击方法JieDaoON(),当我们点击的时候地图视图就跳转到那块街道;先弄一个高亮效果,

代码:
for (var i = 0; i < leng + 1; i++) {
$("#" + i).removeClass(“on”);
}
KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲" + ID).addClas….get方法,最后的话就是用superMap里面的方法:map.setCenter,将X,Y坐标放入进去,然后放大4次,这样的话就完成效果了。
代码:
function JieDaoON(ID) {
for (var i = 0; i < leng + 1; i++) {
$("#" + i).removeClass(“on”);
}
$("#" + ID).addClass(“on”);
$.get(“SelectJDJieDao”, { SMID: ID }, function (data) {
map.setCenter(new SuperMap.LonLat(data[0].SmX, data[0].SmY), 4);
})
}
效果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44543131/article/details/105792985