自定义地图示例:天地图(二)

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 19:09 点击:

有了天地图地图图片的URL生成规则,就可以开始实行对自定义地图类型天地图的支持。

引路蜂地图包中类MapType,接口ICustomMapType主要用来支持自定义地图。在类MapType中定义了 GENERIC_MAPTYPE_1 ,GENERIC_MAPTYPE_2 … GENERIC_MAPTYPE_7 用于支持自定义地图,其中类型 GENERIC_MAPTYPE_7 由两层组成(GENERIC_MAPTYPE_6和GENERIC_MAPTYPE_7),也就是说在绘制地图类型GENERIC_MAPTYPE_7时,现绘制GENERIC_MAPTYPE_6,在其上再绘制GENERIC_MAPTYPE_7,两层叠加而成。多于两层的地图图片很少见。

跟据天地图的特点,采用GENERIC_MAPTYPE_7作为其地图类型,1-10由两层地图组成,一层图像,一层标注。11层以上也可以看作两层,另一层为空层。

接口ICustomMapType只定义了一个方法:地图图片产生规则定义。

[java]
public String getTileURL(int mtype, int x, int y, int zoomLevel); 
  
 public String getTileURL(int mtype, int x, int y, int zoomLevel);
  
由于目前在写Android示例,就使用Android为例,其它平台类似,在项目GISEngineTutorial中添加CustomMap Activity。

[java] 
package com.pstreets.gisengine.demo; 
import com.mapdigit.gis.raster.ICustomMapType; 
import com.mapdigit.gis.raster.MapType; 
  
import com.mapdigit.gis.geometry.GeoLatLng; 
import com.pstreets.gisengine.R; 
import com.pstreets.gisengine.SharedMapInstance; 
  
import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuInflater; 
import android.view.MenuItem; 
  
public class CustomMap extends Activity { 
  
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
    } 
  
    @Override 
    public void onStart() { 
        super.onStart(); 
        MapType.setCustomMapTileUrl(new TiandiMapType()); 
        GeoLatLng center = new GeoLatLng(32.0616667, 118.7777778); 
        SharedMapInstance.map.setCenter(center, 13, MapType.GENERIC_MAPTYPE_7); 
  
    } 
  
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
        MenuInflater inflater = getMenuInflater(); 
        inflater.inflate(R.menu.mapzoom_menu, menu); 
        return true; 
    } 
  
    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
        // Handle item selection  
        switch (item.getItemId()) { 
        case R.id.zoomin: 
            SharedMapInstance.map.zoomIn(); 
  
            return true; 
        case R.id.zoomout: 
            SharedMapInstance.map.zoomOut(); 
            return true; 
  
        default: 
            return super.

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Windows Phone 项目实战之我的微盘(下)
    • Windows Phone 实用开发技巧(26):对DataTemplate中的元素播放
    • Windows Phone 实用开发技巧(25):Windows Phone读取本地数据
    • Windows Phone 实用开发技巧(27):创建透明Tile
    • Windows Phone 知识锦(12月版)
    • Windows Phone实用开发技巧(31):密码加密
    • Windows Phone 项目实战之我的微盘(上)
    • WP7实例篇之土豆搜索器(2)
    • [翻译]WP7 QuickStart-第七篇-布局
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1