openlayers 百度地图和百度地图的区别

Openlayers使用地图数据_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Openlayers使用地图数据
易发表网提供各学科期刊论文下载、毕业论文...|
总评分0.0|
试读已结束,如果需要继续阅读或下载,敬请购买
定制HR最喜欢的简历
你可能喜欢
您可以上传图片描述问题
联系电话:
请填写真实有效的信息,以便工作人员联系您,我们为您严格保密。OpenLayers 与 OpenScales 两者的优劣对比较是怎样的_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
OpenLayers 与 OpenScales 两者的优劣对比较是怎样的
我有更好的答案
在其产品中慢慢去掉 Flash,还是做产品;而 OpenLayers 则是使用的 JavaScript 。现在无论是做技术这个想回答就很简单。 OpenScales 使用 Flash 技术,现在连 Adobe 都开始放弃 Flash 技术
为您推荐:
其他类似问题
openscales的相关知识
等待您来回答最近在做openlayers添加百度地图的扩展类,经过轮番的尝试,终于将其接入了,但是发现偏差比较大,有根据百度的坐标进行了比对,将切片原点进行了调整,发现OK了。打开百度地图,可以看出切片的路径如:http://online1./tile/?qt=tile&x=742&y=248&z=12&styles=pl&udt=,在发现百度地图的切片规则也是和google一样,采用TMS进行切片的,因此剩下的工作就是去查找切片和行列层级号的命名规则。代码如下:
getURL: function (bounds) {
var tilez=this.map.zoom-1;
var res = this.map.getResolution();
var bbox = this.map.getMaxExtent();
var size = this.tileS
var bx = Math.round((bounds.left - this.tileOrigin.lon) / (res * size.w));
var by = Math.round((bounds.bottom - this.tileOrigin.lat) / (res * size.h));
tilez = tilez + 1;
var x = bx.toString().replace("-","M");
var y = by.toString().replace("-","M");
var urlsNum = parseInt((bx + by) % this.url.length);
var strURL = "";
strURL = this.url[urlsNum] + '?qt=tile&x='+x+'&y='+y+'&z='+tilez+'&styles=pl&udt=';
return strURL;
在代码中:主要是this.tileOrigin这个参数影响切片的位置,这个就是切片原点,若将其设置为[0,0],发现和百度坐标偏差较远,经过查看,得知将其设置为:[43.,12.]这样就可以和百度地图完全对应上了。对接百度地图就OK了。
阅读(...) 评论()成功实现openlayer加载百度地图:
由于百度地图瓦片组织规律与openlayer图层加载规律不同,加载百度地图与加载谷歌地图存在较大差异,经过研究终于设计一组转换规则成功加载百度地图。
&body onload="init()"&
&input type="button" value="获取位置" onclick="getInfo()"/&
&input type="text" value="位置:"
id="text1"/&
&div id="rcp1_map" style="width: 100%; height: 100%;"&&/div&
function init() {
// 使用指定的文档元素创建地图
map = new OpenLayers.Map("rcp1_map");
layerOptions = {};
添加百度地图
var resolutions = [];
for(var i=0; i&19; i++){
resolutions = Math.pow(2, 18-i);
var baidu2 = new KoalaGIS.Layer.WMTS.Baidu('baidu2', 'http://online./tile/', {
displayOutsideMaxExtent: false,
resolutions: resolutions,
maxExtent: new OpenLayers.Bounds(-, -, , )
map.addLayer(baidu2);
map.events.register("click", map, onMapClick);
// 注册map点击事件
//map.events.register("zoomend", map, onMapZoom);
// 设定视图缩放地图程度为最大
map.zoomToMaxExtent();
//图层切换控件
map.addControl(new OpenLayers.Control.LayerSwitcher());
//鹰眼控件
map.addControl(new OpenLayers.Control.OverviewMap());
function onMapClick(e){
//alert('click');
// 显示地图屏幕坐标
var str = "[Screen]:" + e.xy.x + "," + e.xy.y;
// document.getElementById("screen_xy").innerHTML =
// 屏幕坐标向地图坐标的转换
var lonlat = map.getLonLatFromViewPortPx(e.xy);
str = "[Map]:" + lonlat.lon + "," + lonlat.
document.getElementById("location").innerHTML =
//生成点图层
// alert(str);
function getInfo(){
var obj=map.getExtent();
var bottom= ;
var vextent= new OpenLayers.Bounds(bottom, left,right, top);
//var vextent: new OpenLayers.Bounds(-, -, , )
map.setCenter(new OpenLayers.LonLat(32333), 5);
var tt=$("#text1").val(map.getZoom());
var aaa="";
引用的脚本:
&!-- 加载OpenLayers 类库
&script type="text/javascript" src="/olapi/OpenLayers.js"&--&
&script type="text/javascript" src="../js/ol/lib/OpenLayers.js"&&/script&
&script type="text/javascript" src="../js/jquery-1.8.3.js"&&/script&
浏览器打开:
http://localhost:8080/entimap/mods/openmap.html
浏览: 355 次
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'3被浏览420分享邀请回答0添加评论分享收藏感谢收起

我要回帖

更多关于 openlayers 离线地图 的文章

 

随机推荐