让openscales支持Googlemap

让openscales支持Googlemap

openscales是AS3版的开源地图客户端,据说源于Openlayer。

package
{
import org.openscales.core.basetypes.Bounds;
import org.openscales.core.layer.osm.OSM;

public class GoogleMap extends OSM
{
   public function GoogleMap(name:String, isBaseLayer:Boolean = false, visible:Boolean = true,
    projection:String = null, proxy:String = null)
   {
    var url:String = "http://localhost:8080/chunmapService/test?SERVICE=GoogleMap";
    super(name, url, isBaseLayer, visible, projection, proxy);

    this.altUrls = [ "http://localhost:8080/chunmapService/test?SERVICE=GoogleMap", "http://localhost:8080/chunmapService/test?SERVICE=GoogleMap" ];
    this.generateResolutions(19, OSM.DEFAULT_MAX_RESOLUTION);
   }
 
   override public function getURL(bounds:Bounds):String
   {
    var res:Number = this.map.resolution;
    var x:Number = Math.round((bounds.left - this.maxExtent.left) / (res * this.tileWidth));
    var y:Number = Math.round((this.maxExtent.top - bounds.top) / (res * this.tileHeight));
    var z:Number = this.map.zoom;
    var limit:Number = Math.pow(2, z);

    if (y < 0 || y >= limit ||x < 0 || x >= limit) {
     return "";
    } else {
     x = ((x % limit) + limit) % limit;
     y = ((y % limit) + limit) % limit;
     var url:String = this.url;
     var path:String = "&x=" + x + "&y=" + y + "&z="+z+"&f=.jpeg";
     if (this.altUrls != null) {
      url = this.selectUrl(this.url + path, this.getUrls());
     }
     return url + path;
    }
   }

}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值