Openlayers发布谷歌离线地图
来源:互联网 发布:java的前景 编辑:程序博客网 时间:2024/05/15 01:53
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<meta name="apple-mobile-web-app-capable" content="yes">
<title>OpenLayers Tiled Map Service Example</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css">
<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
html, body { overflow: hidden;
padding: 0;
height: 100%;
width: 100%;
font-family: 'Lucida Grande',Geneva,Arial,Verdana,sans-serif;
}
body { margin: 1px;
background: #fff;
}
#map { height: 99%;
border: 1px solid #888;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map;
var mapBounds = new OpenLayers.Bounds( 1.3172798200611E7,3400604.87623691,1.34309719074187E7,3576746.35051871);
var mapMinZoom =8;
var mapMaxZoom =13;
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
OpenLayers.Util.onImageLoadErrorColor = "transparent";
function init(){
var options = { controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.ScaleLine(),
new OpenLayers.Control.OverviewMap()
],
projection: new OpenLayers.Projection("EPSG:900913"),
displayProjection: new OpenLayers.Projection("EPSG:4326"),
units: "m",
numZoomLevels:13,
maxResolution: 156543.0339,
maxExtent: new OpenLayers.Bounds(-20037508, -20037508, 20037508.3427892, 20037508.3427892)
};
map = new OpenLayers.Map('map', options);
var tmsoverlay = new OpenLayers.Layer.TMS( "OpenGSC", "",{ type: 'png',
getURL: overlay_getTileURL,
alpha: true,
isBaseLayer: true,
minResolution : 4.777314267158508,
maxResolution : 611.4962261962891 });
if (OpenLayers.Util.alphaHack() == false) {
tmsoverlay.setOpacity(1);
}
map.addLayers([tmsoverlay]);
//var switcherControl = new OpenLayers.Control.LayerSwitcher();
//map.addControl(switcherControl);
//switcherControl.maximizeControl();
map.zoomToExtent( mapBounds );
//map.addControl(new OpenLayers.Control.Scale());
//map.addControl(new OpenLayers.Control.PanZoomBar());
map.addControl(new OpenLayers.Control.MousePosition());
//map.addControl(new OpenLayers.Control.MouseDefaults());
//map.addControl(new OpenLayers.Control.KeyboardDefaults());
//map.setCenter(new OpenLayers.LonLat(120.18295,30.31787), 3);
var lonLat = new OpenLayers.LonLat(120.18295,30.31787);
//google地图需要转换坐标
lonLat.transform(map.displayProjection, map.getProjectionObject());
map.setCenter(lonLat, 4);
// 注册map缩放事件
map.events.register("zoomend", map, onMapZoom);
}
function overlay_getTileURL(bounds) {
var res = this.map.getResolution();
var x = Math.round((bounds.left - this.maxExtent.left) / (res * this.tileSize.w));
var y = Math.round((this.maxExtent.top-bounds.top) / (res * this.tileSize.h));
var z = this.map.getZoom();
z=z+8;
if (mapBounds.intersectsBounds( bounds ) && z >= mapMinZoom && z <= mapMaxZoom ) {
return this.url + z + "/" + y + "/" + x+ "." + this.type;
} else {
return "";
}
}
function onMapZoom(e){
//alert('zoom level:'+map.getZoom());
//alert('sclse:'+map.getScale());
}
</script>
</head>
<body onload="init()">
<div id="map" class=""></div>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<meta name="apple-mobile-web-app-capable" content="yes">
<title>OpenLayers Tiled Map Service Example</title>
<link rel="stylesheet" href="../theme/default/style.css" type="text/css">
<link rel="stylesheet" href="style.css" type="text/css">
<style type="text/css">
html, body { overflow: hidden;
padding: 0;
height: 100%;
width: 100%;
font-family: 'Lucida Grande',Geneva,Arial,Verdana,sans-serif;
}
body { margin: 1px;
background: #fff;
}
#map { height: 99%;
border: 1px solid #888;
}
</style>
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map;
var mapBounds = new OpenLayers.Bounds( 1.3172798200611E7,3400604.87623691,1.34309719074187E7,3576746.35051871);
var mapMinZoom =8;
var mapMaxZoom =13;
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
OpenLayers.Util.onImageLoadErrorColor = "transparent";
function init(){
var options = { controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.ScaleLine(),
new OpenLayers.Control.OverviewMap()
],
projection: new OpenLayers.Projection("EPSG:900913"),
displayProjection: new OpenLayers.Projection("EPSG:4326"),
units: "m",
numZoomLevels:13,
maxResolution: 156543.0339,
maxExtent: new OpenLayers.Bounds(-20037508, -20037508, 20037508.3427892, 20037508.3427892)
};
map = new OpenLayers.Map('map', options);
var tmsoverlay = new OpenLayers.Layer.TMS( "OpenGSC", "",{ type: 'png',
getURL: overlay_getTileURL,
alpha: true,
isBaseLayer: true,
minResolution : 4.777314267158508,
maxResolution : 611.4962261962891 });
if (OpenLayers.Util.alphaHack() == false) {
tmsoverlay.setOpacity(1);
}
map.addLayers([tmsoverlay]);
//var switcherControl = new OpenLayers.Control.LayerSwitcher();
//map.addControl(switcherControl);
//switcherControl.maximizeControl();
map.zoomToExtent( mapBounds );
//map.addControl(new OpenLayers.Control.Scale());
//map.addControl(new OpenLayers.Control.PanZoomBar());
map.addControl(new OpenLayers.Control.MousePosition());
//map.addControl(new OpenLayers.Control.MouseDefaults());
//map.addControl(new OpenLayers.Control.KeyboardDefaults());
//map.setCenter(new OpenLayers.LonLat(120.18295,30.31787), 3);
var lonLat = new OpenLayers.LonLat(120.18295,30.31787);
//google地图需要转换坐标
lonLat.transform(map.displayProjection, map.getProjectionObject());
map.setCenter(lonLat, 4);
// 注册map缩放事件
map.events.register("zoomend", map, onMapZoom);
}
function overlay_getTileURL(bounds) {
var res = this.map.getResolution();
var x = Math.round((bounds.left - this.maxExtent.left) / (res * this.tileSize.w));
var y = Math.round((this.maxExtent.top-bounds.top) / (res * this.tileSize.h));
var z = this.map.getZoom();
z=z+8;
if (mapBounds.intersectsBounds( bounds ) && z >= mapMinZoom && z <= mapMaxZoom ) {
return this.url + z + "/" + y + "/" + x+ "." + this.type;
} else {
return "";
}
}
function onMapZoom(e){
//alert('zoom level:'+map.getZoom());
//alert('sclse:'+map.getScale());
}
</script>
</head>
<body onload="init()">
<div id="map" class=""></div>
</body>
</html>
0 0
- Openlayers发布谷歌离线地图
- Openlayers发布谷歌离线地图
- 使用OpenLayers3发布谷歌离线地图
- 如何发布谷歌离线地图
- 如何使用谷歌离线API发布谷歌卫星地图
- 如何使用Openlayer发布谷歌卫星地图
- openlayers 离线地图 瓦片
- 如何使用Openlayers 3加载谷歌离线地图
- 离线谷歌卫星地图加载服务中间件调用示例 For OpenLayers
- OpenLayers API 离线地图发布源码示例功能
- 地图的开发研究--基于openlayers+geoserver+tomcat的离线地图--本地.shp地图
- 地图的开发研究--基于openlayers+geoserver+tomcat的离线地图--前期技术准备prototype
- 地图的开发研究--基于openlayers+geoserver+tomcat的离线地图--postgis空间数据库
- 地图的开发研究--基于openlayers+geoserver+tomcat的离线地图--postgis空间数据库
- openLayers TMS加载谷歌地图瓦片
- Openlayers之加载谷歌地图
- 基于OpenLayers实战地理信息系统(离线地图,通过基站转经纬度,Quartz深入,轨迹实战)
- 地图的开发研究--基于openlayers+geoserver+tomcat的离线地图-geoserver的缓存机制(geowebcache)
- android 签名处理(已安装了存在签名冲突的同名数据包)
- Win2012的IIS无法识别 .svc
- PHP解决盗链图片无法显示的问题
- 浅析Java虚拟机结构与机制
- Android Studio加载jar不完整的解决办法
- Openlayers发布谷歌离线地图
- Xcode的 发展史
- gradle打Zip包
- 关于emgu 在VS2010 C#中的配置问题
- linux命令备份和还原mysql数据库
- ubuntu12.04 create SAP issues
- list_for_each()与list_for_each_safe()的区别
- jni开发strcat导致的异常
- testlink+mantis环境部署