如何调用天地图js API 添加arcgis发布的图层服务

如何调用天地图js API 添加arcgis发布的图层服务,第1张

<script type="text/javascript" src="http://api.tianditu.com/js/maps.js"></script>

<script type="text/javascript" src="http://api.tianditu.com/js/service.js"></script>

<title>行政区域</title>

<script type="text/javascript">

var zoom = 10

var wmsLayer

var localsearch

var map

var lay

function onLoad() {

var config = { projection: "EPSG:4326"}

//map实例

map = new TMap("mapDiv",config)

//设置显示地图的中心点和级别

map.centerAndZoom(new TLngLat(106.38848,38.995728), zoom)

//允许鼠标滚轮缩放地图

map.enableHandleMouseScroll()

//允许双击地图放大

map.enableDoubleClickZoom()

getWMS()

}

function getWMS(){

if(wmsLayer)

{

map.removeLayer(wmsLayer)

}

var config = {

REQUEST:"GetMap", // *** 作名称

VERSION:"1.1.1", //请求服务的版本

SERVICE:"WMS", //服务类型标识符

LAYERS:"0", //用","分隔的多个图层列表

TRANSPARENT:true, //输出图像背景是否透明

STYLES:"default", //每个请求图层的用","分隔的描述样式

FORMAT:"image/png", //输出图像的类型

SRS:"EPSG:4326", //地图投影类型

WIDTH:256, //输出地图图片的像素宽

HEIGHT:256 //输出地图图片的像素高

}

wmsLayer = new TTileLayerWMS("wms","url",config)

//将WMS图层添加到地图上

map.addLayer(wmsLayer)

}

</script>

注意事项:

1.首先因为调用的是天地图的添加wms图层的方法,所以对于arcgis发布的图层服务,要求必须启用wms服务功能才可以。启用的时候会有一个地址,这个地址就是上面url的地址

2.在初始化地图的时候var config = { projection: "EPSG:4326"} 这个配置是需要的要不然 ,图层会添加失败。

3.对于config配置的项要注意的地方,LAYERS属性是你发布的服务的图层名称

FORMAT :"image/png" 这个属性也要注意,当时我写的是image/jpeg,出现了问题,改为png就正常了

以上 注意了,应该就不会有问题了。

1.下载天地图移动API库

要在Android应用中使用天地图API,就需要在工程中引用百度地图API开发包,下载地址http://api.tianditu.com/api-new/mobile/download.html, 下载Tiandituapi2.1.zip

2.第一个天地图map应用

第一步:在工程里新建libs文件夹,开发包里的tiandituapi2.1.jar拷贝到libs根目录下,将libMapEngine.so拷贝到libs\armeabi目录下(官网demo里已有这两个文件,如果要集成到自己的工程里,就需要自己添加),拷贝完成后的工程目录如下图所示;

第二步:在工程属性->Java Build Path->Libraries中选择“AddExternal JARs”,选定tiandituapi2.1.jar,确定后返回,这样您就可以在您的程序中使用API了。

a、添加所需权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE">

</uses-permission>

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE">

</uses-permission>

<uses-permission android:name="android.permission.INTERNET">

</uses-permission>

<uses-permission android:name="android.permission.CALL_PHONE">

</uses-permission>

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION">

</uses-permission>

<uses-permission android:name="android.permission.READ_PHONE_STATE">

</uses-permission>

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">

</uses-permission>

b、在布局xml文件中添加地图显示组件,并把布局文件选到Activity中显示。

<com.tianditu.android.maps.MapView

android:id="@+id/main_mapview"

android:layout_width="fill_parent"

android:layout_height="fill_parent"/>

c、在Activity中初始化地图 在Activity的onCreate()接口中添加以下代码:

MapView mMapView = (MapView) findViewById(R.id.bmapsView)

//设置启用内置的缩放控件

mMapView.setBuiltInZoomControls(true)

//得到mMapView的控制权,可以用它控制和驱动平移和缩放

MapController mMapController = mMapView.getController()

//用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6)

GeoPoint point = new GeoPoint((int) (39.915 * 1E6), (int) (116.404 * 1E6))

//设置地图中心点

mMapController.setCenter(point)

//设置地图zoom级别

mMapController.setZoom(12)

好了,完成。其实天地图开发指南上对了这个解释的也极其清楚~~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11929450.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存