700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Google Map API V3调用arcgis发布的瓦片地图服务

Google Map API V3调用arcgis发布的瓦片地图服务

时间:2020-01-25 09:12:29

相关推荐

Google Map API V3调用arcgis发布的瓦片地图服务

由于最近项目需要用到CAD制作的地图,但之前一直使用的是用谷歌离线瓦片地图的方式,怎么样把CAD图像地图一样有缩放,移动的功能放到网页显示成了难题,

原先的谷歌地图的代码难道就不能用了?重新写一套代码得多久呢,得花多少时间精力呢?

于是开始尝试了N种方法,最后找的可能算是最好的方法可以沿用现有的代码,方法是:首先要用ARCGIS软件,把CAD图转化为mxd文件(当然其中各种困难就不提了,而且转换后的效果不一定能和CAD完全一样),

最后请教的是学地理信息系统专业的朋友才搞定的。其次把mxd发布成GIS服务,需要生成瓦片文件,如果发布成功访问http://localhost/ArcGIS/rest/services/服务名称/MapServer 会显示相应地图信息,

最后用下面谷歌地图脚本文件调用相应url

//设置中心位置var myCenter = new google.maps.LatLng(34.573380321227, 115.42915725708); function CoordMapType() {}CoordMapType.prototype.tileSize = new google.maps.Size(256, 256);CoordMapType.prototype.maxZoom = 15;CoordMapType.prototype.minZoom = 11;CoordMapType.prototype.getTile = function (coord, zoom, ownerDocument) {var img = ownerDocument.createElement("img");img.style.width = this.tileSize.width + "px";img.style.height = this.tileSize.height + "px";var strURL = "http://localhost/ArcGIS/rest/services/服务名称/MapServer/tile/" + zoom + "/" + coord.y + "/" + coord.x;img.src = strURL;return img;};CoordMapType.prototype.name = "Tile #s";CoordMapType.prototype.alt = "Tile Coordinate Map Type";function GetCoordinateMapType() {return new CoordMapType();}//初始化地图function initialize() {var mapOptions = {zoom: 11,center: myCenter,mapTypeId: "coordinate"};Variable.map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);Variable.map.mapTypes.set('coordinate', GetCoordinateMapType());}

//html代码

<div id="map_canvas"></div>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。