[转]worldwind在线加载google地图,或者基于墨卡托投影的切片地图

package gis1;

import java.net.MalformedURLException;
import java.net.URL;

import gov.nasa.worldwind.avlist.AVKey;
import gov.nasa.worldwind.avlist.AVList;
import gov.nasa.worldwind.avlist.AVListImpl;
import gov.nasa.worldwind.geom.Angle;
import gov.nasa.worldwind.geom.LatLon;
import gov.nasa.worldwind.layers.mercator.BasicMercatorTiledImageLayer;
import gov.nasa.worldwind.layers.mercator.MercatorSector;
import gov.nasa.worldwind.util.LevelSet;
import gov.nasa.worldwind.util.Tile;
import gov.nasa.worldwind.util.TileUrlBuilder;

public class GoogleLayer extends BasicMercatorTiledImageLayer{

    public GoogleLayer() {
        super(makeLevels());
        // TODO Auto-generated constructor stub
    }

    private static LevelSet makeLevels() {
        // TODO Auto-generated method stub
        AVList params = new AVListImpl();

        params.setValue(AVKey.TILE_WIDTH, 256);
        params.setValue(AVKey.TILE_HEIGHT, 256);
        params.setValue(AVKey.DATA_CACHE_NAME, "Earth/GoogleMap");
        params.setValue(AVKey.DATASET_NAME, "*");
        params.setValue(AVKey.FORMAT_SUFFIX, ".jpg");
        params.setValue(AVKey.NUM_LEVELS, 16);
        params.setValue(AVKey.NUM_EMPTY_LEVELS, 0);
        params.setValue(AVKey.LEVEL_ZERO_TILE_DELTA, new LatLon(Angle
                .fromDegrees(22.5d), Angle.fromDegrees(45d)));
        params.setValue(AVKey.SECTOR, new MercatorSector(-1.0, 1.0,
                Angle.NEG180, Angle.POS180));
        params.setValue(AVKey.TILE_URL_BUILDER, new URLBuilder());

        return new LevelSet(params);
    }
    private static class URLBuilder implements TileUrlBuilder
    {
        public URL getURL(Tile tile, String imageFormat)
                throws MalformedURLException
        {
            String url=String.format(
                    "http://www.google.cn/maps/[email protected]&gl=cn&x=%s&y=%s&z=%s",
                    tile.getColumn(),
                    (1 << (tile.getLevelNumber()) + 3) - 1 - tile.getRow(),
                    (tile.getLevelNumber() + 3)
                    );
            System.out.println(url);
            return new URL(url);
        }
    }

}

原文地址:https://www.cnblogs.com/rainbow70626/p/12355296.html

时间: 2024-07-29 00:22:21

[转]worldwind在线加载google地图,或者基于墨卡托投影的切片地图的相关文章

ArcGIS API for Silverlight 加载google地图

原文:ArcGIS API for Silverlight 加载google地图 using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using Syst

ArcGIS API for Silverlight加载google地图(后续篇)

原文:ArcGIS API for Silverlight加载google地图(后续篇) 之前在博客中(http://blog.csdn.net/taomanman/article/details/8019687)提到的加载google地图方案,因为google地址问题,看不到图了,发现是url地址变换造成的. 现将如下三个类公布出来,源码如下: using System; using System.Net; using System.Windows; using System.Windows.

中科燕园webgis外包 讲解2----使用geoserver+openLayers加载google地图

1. 准备工作 安装java环境即JDK 下载geoserver  官网:http://geoserver.org/display/GEOS/Welcome 我的描述使用的是geoserver1.7版本,2.0版本类似,只是1.7是中文的,2.0版本可以再使用过1.7版本后自己摸索,大同小异. 下载openLayers 官网:http://www.openlayers.org/ 配置好JAVA_HOME 下载地图(shp格式) 可到此网站:http://nfgis.nsdi.gov.cn/asp

使用openlayers 3 在线加载天地图及GeoServer发布的地图

使用openlayers3来加载天地图卫星图和标注图层,GeoServer发布地图,一并用openlayers测试加载出来,顺便实现了7种地图控件.下面直接贴代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport&q

ArcGIS API for Silverlight中加载Google地形图(瓦片图)

原文:ArcGIS API for Silverlight中加载Google地形图(瓦片图) 在做水利.气象.土地等行业中,若能使用到Google的地形图那是再合适不过了,下面就介绍如何在ArcGIS API for Silverlight中加载Google地 形图.先上一个图,初步制作,待后续继续改进 ArcGIS API for Silverlight 中的ArcGISTiledMapServiceLayer图层,继承自TiledMapServiceLayer.如果想实现自己的缓存地图图 层

【性能优化】懒、懒加载、懒动画 --- 基于window滚动事件来实时更新DOM的视图状态,以表明是否在规定的可视区,并作有change回调

/* * * 扩展jq原型: 懒.懒加载.懒动画 * --- 基于window滚动事件来实时更新DOM的视图状态,以表明是否在规定的可视区,并作有change回调 * * $jq.viewChange( {top:100,bottom:100,change:function(status){}} ) --- status: 'in'/'out' * $jq.viewChange('off') * * $jq[n].viewChange.status = 'in'/'out' ----- 状态为'

使用WebGL加载Google街景图

我们要实现的功能比较简单:首先通过坐标定位.我的位置.地址搜索等方式,调用google map api获取地址信息.然后根据地址信息中的全景信息获取当前缩放级别的全景信息.最终把这些全景信息通过WebGL方法显示在屏幕上. 了解了Google街景图的呈现原理,像国内的街景呈现,景区全景呈现不外乎都是相似的原理.区别只是调用的api不同而已.在实现功能过程中,我们也可以了解到全景呈现的一些原理. 在介绍代码之前,先大概的描述下实现的步骤: 1).使用google api呈现地图,实现地图定位.搜索

Engine加载ArcGIS Online和ArcGIS Server发布的地图服务

两种方式:1. 可以通过遍历的方式,根据地图服务的名称进行判断,然后加载. IAGSServerObjectName pSOName = null; IAGSServerObjectName psoname = null; IAGSServerConnection con = new AGSServerConnection(); IAGSServerConnectionFactory2 confactory = new AGSServerConnectionFactory() as IAGSSe

使用web gis 加载显示arcgis for server 发布出来的地图,并提供查询标记显示属性功能

首先会通过arcgis server manager 开启由arcgis desktop 关联发布的mxd地图文件,具体过程arcgis server 的基础教程上都有 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Test</title> 6 <link rel="stylesheet" hre