<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)
好了,完成。其实天地图开发指南上对了这个解释的也极其清楚~~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)