openlayers 根据经纬度转换为屏幕坐标
2012-02-11 21:36
441 查看
如下,
centerLon ,centerLat 为获取到的经纬度;
dx ,dy为该点相对于地图左上角的像素差
tmap.div.offsets[0],tmap.div.offsets[1] 为地图左上角的屏幕坐标。
PosX, PosY 为该经纬度的屏幕坐标。
IE,360,firefox,google浏览器测试通过。
var feature = e.feature;
var tmap = feature.layer.map;
//通过div实现,未完成,IE和firefox都不对
var bounds = feature.geometry.bounds;
var centerLon = (bounds.left + bounds.right) / 2.0;
var centerLat = (bounds.bottom + bounds.top) / 2.0;
var resolution = tmap.getResolution();
var extent = tmap.getExtent();
var size = tmap.size;
var dx =parseInt( size.w * (centerLon - extent.left) / (extent.right - extent.left));
var dy = parseInt(size.h * (centerLat - extent.top) / (extent.bottom - extent.top));
var PosX = tmap.div.offsets[0] + dx;
var PosY = tmap.div.offsets[1] + dy;
/*
var isIE = (document.all) ? true : false;
var PosX = isIE ? event.x : e.pageX;
var PosY = isIE ? event.y : e.pageY;*/
//添加一个热区div
var hotspotdiv = document.getElementById(_hotspotdivid);
hotspotdiv.innerHTML = feature.attributes["Title"];
hotspotdiv.style.left = PosX + "px";
hotspotdiv.style.top = PosY + "px";
hotspotdiv.style.position = "absolute";
hotspotdiv.style.visibility = "visible";
centerLon ,centerLat 为获取到的经纬度;
dx ,dy为该点相对于地图左上角的像素差
tmap.div.offsets[0],tmap.div.offsets[1] 为地图左上角的屏幕坐标。
PosX, PosY 为该经纬度的屏幕坐标。
IE,360,firefox,google浏览器测试通过。
var feature = e.feature;
var tmap = feature.layer.map;
//通过div实现,未完成,IE和firefox都不对
var bounds = feature.geometry.bounds;
var centerLon = (bounds.left + bounds.right) / 2.0;
var centerLat = (bounds.bottom + bounds.top) / 2.0;
var resolution = tmap.getResolution();
var extent = tmap.getExtent();
var size = tmap.size;
var dx =parseInt( size.w * (centerLon - extent.left) / (extent.right - extent.left));
var dy = parseInt(size.h * (centerLat - extent.top) / (extent.bottom - extent.top));
var PosX = tmap.div.offsets[0] + dx;
var PosY = tmap.div.offsets[1] + dy;
/*
var isIE = (document.all) ? true : false;
var PosX = isIE ? event.x : e.pageX;
var PosY = isIE ? event.y : e.pageY;*/
//添加一个热区div
var hotspotdiv = document.getElementById(_hotspotdivid);
hotspotdiv.innerHTML = feature.attributes["Title"];
hotspotdiv.style.left = PosX + "px";
hotspotdiv.style.top = PosY + "px";
hotspotdiv.style.position = "absolute";
hotspotdiv.style.visibility = "visible";
相关文章推荐
- 把屏幕坐标转换成经纬度
- 经纬度转换为屏幕坐标
- 经纬度坐标转换成屏幕坐标
- 根据execl公式将经纬度转换成平面坐标
- 百度地图 经纬度转换屏幕屏幕坐标
- 地图经纬度坐标与屏幕坐标的转换(android版)
- 经纬度转换成屏幕坐标
- 【ArcGIS for Android】经纬度坐标、地图投影坐标、屏幕坐标互相转换
- 经纬度坐标转换为屏幕坐标
- 度分 格式 转换 GPS 经纬度定义、经纬度格式、GDAL中地理坐标转换及地理坐标屏幕显示
- java版 经纬度和屏幕坐标互相转换
- GPS经纬度转换屏幕坐标
- 经纬度坐标转换为屏幕坐标
- 经纬度坐标转换成屏幕坐标
- (转)经纬度坐标转换为屏幕坐标
- 经纬度坐标转换为屏幕坐标
- (转)经纬度坐标转换为屏幕坐标
- OpenLayers地图坐标转换屏幕坐标
- 地理坐标、经纬度坐标与屏幕坐标的转换!
- 根据经纬度计算距离的公式、百度坐标转换成GPS坐标(PHP版)