地图上显示div点位
功能核心: 地理坐标转屏幕坐标
用到的插件:jquery animo动画插件
核心代码:
var point = new Point(lon, lat, map.spatialReference);
var screenPnt = map.toScreen(point);
功能代码:
<span style="font-size:14px;">for (var i = 0; i < json.length; i++) {</span>
<span style="font-size:14px;"><span style="white-space:pre"> </span>
var title = json[i].title;
var lon = json[i].lon;
var lat = json[i].lat;
var value = json[i].value;
var code = json[i].code;</span>
<span style="font-size:14px;"><span style="white-space:pre"> </span>//自己定义标签
var html = "";
html += "<div id='ring" + i + "' class='ring'>";
html += "<div id = 'div_mapIcoDiv" + i + "' title='" + title + "' lon='" + lon + "' lat='" + lat + "' value='" + value + "' code='" + code + "'>";</span><pre name="code" class="javascript"><span style="font-size:14px;"><span style="white-space:pre"> </span> lve = coustomTool.getLveAndColor(value);</span><pre name="code" class="javascript">html += "<div class = 'tip_name' style='border:1px solid " + lve.borderColor + "'>" + title + "</div>"; html += "<div class = 'tip_value' style='background: url(IMG/BG/" + lve.imgColor + ") no-repeat'>" + value + "</div>"; html += "</div>"; html += "</div>";
<span style="font-size:14px;"><span style="white-space:pre"> </span>//地理坐标转屏幕坐标并设置点位div的位置
var point = new Point(lon, lat, map.spatialReference);
var screenPnt = map.toScreen(point);</span>
<span style="font-size:14px;"> $("#ring" + i).css({ "left": screenPnt.x - 19 + "px", "top": screenPnt.y + 25 + "px", "position": "absolute", "z-index": "10", "cursor": "pointer" });</span>
<span style="font-size:14px;"><span style="white-space:pre"> </span>$("body").append(html);
}</span>
<span style="font-size:14px;"><span style="white-space:pre"> </span>//点位动画效果</span>
<span style="font-size:14px;"><span style="white-space:pre"> </span>$(".class_mapIcoDiv").animo({ animation: ["rollIn"], duration: 0.5 }); </span><pre name="code" class="javascript"><span style="font-size:14px;"><span style="white-space:pre"> </span>$(".class_mapIcoDiv").bind("mouseover", function () {
$(this).animo({ animation: ["pulse"], duration: 0.5 });
});</span>
<span style="font-size:14px;"></span><pre name="code" class="javascript">
<span style="font-size:14px;">
</span>
var panStart = dojo.connect(map, "onPanStart", function () {
$(".ring").css("display", "none");
$(".esriPopup").css("display", "none");
});
var panEnd = dojo.connect(map, "onPanEnd", function () {
for (var i = 0; i < json.length; i++) {
var x = json[i].lon;
var y = json[i].lat;
var point = new Point(x, y, map.spatialReference);
screenPnt = map.toScreen(point);
$("#ring" + i).css({ "left": screenPnt.x - 19 + "px", "top": screenPnt.y + 25 + "px", "position": "absolute", "display": "block", "z-index": "1" });
}
$(".esriPopup").css("display", "block");
});
var zoomStart = dojo.connect(map, "onZoomStart", function () {
$(".ring").css("display", "none");
$(".esriPopup").css("display", "none");
});
var zoomEnd = dojo.connect(map, "onZoomEnd", function () {
for (var i = 0; i < json.length; i++) {
var x = json[i].lon;
var y = json[i].lat;
var point = new Point(x, y, map.spatialReference);
screenPnt = map.toScreen(point);
$("#ring" + i).css({ "left": screenPnt.x - 19 + "px", "top": screenPnt.y + 25 + "px", "position": "absolute", "display": "block", "z-index": "1" });
}
$(".esriPopup").css("display", "block");
});
//将地图事件的句柄加入到句柄集合中。
config._eventHandlers.push(panStart);
config._eventHandlers.push(panEnd);
config._eventHandlers.push(zoomStart);
config._eventHandlers.push(zoomEnd);
地图上显示div点位的更多相关文章
- OpenLayers在地图上显示统计图,饼图线状图柱状图,修复统计图跳动的问题
环境介绍 Openlayers ol.js v5.3.0 Highcharts highcharts.js v7.0.1 jquery jquery-3.3.1.js v3.3.1 显示效果 地图放大 ...
- html5定位并在百度地图上显示
在开发移动端 web 或者webapp时,使用百度地图 API 的过程中,经常需要通过手机定位获取当前位置并在地图上居中显示出来,这就需要用到html5的地理定位功能. navigator.geolo ...
- html5定位获取当前位置并在百度地图上显示
用html5的地理定位功能通过手机定位获取当前位置并在地图上居中显示出来,下面是百度地图API的使用过程,有需要的朋友可以参考下 在开发移动端 web 或者webapp时,使用百度地图 API 的过程 ...
- [Xcode 实际操作]四、常用控件-(17)为MKMapView地图上显示提示框
目录:[Swift]Xcode实际操作 本文将演示当点击地图上的标注圆点时,弹出信息窗口. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit ...
- Echarts 地图上显示数值
Echarts 地图上展示数值,效果如下: 上代码:关键代码用红色 series: [ { //name: '香港18区人口密度', type: 'map', mapType: 'jiangsu', ...
- hightmaps 按地图上显示的统计数据
离extjs 至 easyui 到html5到hightchars 再到hightmaps.Exjts和easyui很相似,extjs是重量级的,easyui轻量级的.比extjs容易上手.照着dem ...
- 根据百度地图API得到坐标和地址并在地图上显示
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout ...
- 地图上显示X,Y 坐标代码
事件数据 所有的鼠标事件都使用MouseButtonEventArgs和MouseEventArgs作为事件数据,通过这两个参数可以获取相关事件数据,使用GetPosition方法或者Source.H ...
- 【小技巧】object上显示div
这个现在不大常用了,就是object在页面中显示的优先级最高,其他层想覆盖在其上面,设置的z-index再高都不管用,解决办法是在层中加一个iframe.不多说了,直接记录下代码吧,估计以后用到的机率 ...
随机推荐
- django 笔记3
FBV function base view url.py index -> 函数名 view.py def 函数(requset): ... CBV class base view /inde ...
- 流量数据iftop命令
yum install flex byacc libpcap ncurses ncurses-devel libpcap-devel tar zxvf iftop-0.17.tar.gz cd ift ...
- 2.CString转换到char*
多字节模式下: CString -->char * CString str1 ="; char *t1 =str1.GetBuffer(str1.GetLength()); str1. ...
- BZOJ 3262 cdq分治 OR 树套树
注意判断 三个条件都一样的-- (CDQ分治 其实并不是很难理解 只是想不到--) CDQ分治: //By SiriusRen #include <cstdio> #include < ...
- Huawei交换机VRP配置介绍
一.命令视图• 用户视图<Huawei>• 系统视图 [Huawei]• 接口视图 [Huawei-GigabitEthernet0/0/1]• 协议视图 [Huawei-rip-1]• ...
- CMD规范学习笔记——基于SEAJS实现
CMD(Common Module Definition):该规范明确了模块的书写格式和基本交互规则.通常一个模块就是一个JS文件. 通过define关键字来定义模块,最基本的格式为: define( ...
- C++11 volatile 类型
volatile作用: 作为指令关键字,确保本条指令不会受到编译器的优化而省略,而且要求每次直接读值. 定义: volatile int nTest; volatile关键字是一种类型修饰符,用它声明 ...
- 【hiho39】二分·归并排序之逆序对
近期申请了微软的暑假实习,4号就要在线笔试了,在线測试系统用的是http://hihocoder.com/,今天试手做了一道题. [题目] 原题链接:http://hihocoder.com/cont ...
- AC自动机 hdu2222
#include <iostream> using namespace std; struct Node{ Node *next[]; Node* fail; int count; Nod ...
- C++的继承和Java继承的比较
在C++中继承可分为公有继承(public)保护继承(protected)和私有继承(private),而在Java中默认只有一种继承(相当于C++中的公有继承)下面我们来看一段代码 #include ...