转:谷歌离线地图基础[通俗易懂]

转:谷歌离线地图基础[通俗易懂]一.需要文件gapi3文件夹:存放接口等tilemap文件夹:存放图片gapi.js文件maptool.js文件二.html配置<scripttype="text/javascript"src="gapi.js"></script><scripttype="text/javascript"src="maptool.js">&lt

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一.需要文件

  1. gapi3文件夹:存放接口等
  2. tilemap文件夹:存放图片
  3. gapi.js文件
  4. maptool.js文件

二.html配置

<script type="text/javascript" src="gapi.js"></script>
<script type="text/javascript" src="maptool.js"></script>
  • 1
  • 2

三.使用

html中使用div 展示地图

<div id="map_canvas"  style="width=100%; height: 900px;"></div>
  • 1

text/javascript中创建离线对象

////////////////////////////////CoordMapType对象定义:显示目标位置div/////////////////////////////////////////////////////////////////
function CoordMapType(tileSize) {
  
  //创建对象方法(构造函数)
    this.tileSize = tileSize;
}

CoordMapType.prototype.getTile = function(coord, zoom, ownerDocument) {
    var div = ownerDocument.createElement('DIV');
    var ymax = 1 << zoom;
    var y = ymax - coord.y - 1;
//  div.innerHTML = coord.x + "," + y + "," + zoom;
    div.style.width = this.tileSize.width + 'px';
    div.style.height = this.tileSize.height + 'px';
    div.style.fontSize = '10';
    div.style.borderStyle = 'solid';
    div.style.borderWidth = '0px';
    div.style.borderColor = '#AAAAAA';
    return div;
};

////////////////////////////////LocalMapType对象定义:使用本地地图实体类型/////////////////////////////////////////////////////////////////
function LocalMapType() {}

LocalMapType.prototype.tileSize = new google.maps.Size(256, 256);
LocalMapType.prototype.maxZoom = 18;
LocalMapType.prototype.minZoom = 1;
LocalMapType.prototype.name = "本地";
LocalMapType.prototype.alt = "显示本地地图";
LocalMapType.prototype.getTile = function(coord, zoom, ownerDocument) {
    var img = ownerDocument.createElement("img");
    img.style.width = this.tileSize.width + "px";
    img.style.height = this.tileSize.height + "px";

    var ymax = 1 << zoom;
    var y = ymax - coord.y - 1;

    var strURL = "tilemap\\sjztms\\" + zoom + "\\" + coord.x + "\\" + y + ".png";

    img.src = strURL; 
    return img;
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41

载入地图(除了需要使用离线地图对象外,API使用方法和在线地图一样)

var localMapType = new LocalMapType(); 
//创建一个简单的 Google 地图
var myLatlng = new google.maps.LatLng(30.732137,103.968976);//谷歌经纬度,使用WGS84坐标系
var myOptions = {
  
  //myOptions:地图设置
    center: myLatlng,
    zoom: 13 ,
  zoomControl :false,
    streetViewControl: false,
  disableDoubleClickZoom: true,//禁用双击放大
  mapTypeControl: false,//禁用左上角样式 控件
    mapTypeControlOptions: {
    mapTypeIds: ["local", google.maps.MapTypeId.ROADMAP]
    }
}
在map_canvas上创建地图,地图设置myOptions
    var map = new google.maps.Map(document.getElementById("map_canvas"),
            myOptions);

//Map() 的属性:controls控件;mapTypes按字符串 ID 划分的 MapType 实例的注册表,overlayMapTypes 要叠加的额外地图类型
    map.mapTypes.set('local', localMapType);//注册本地地图实体类型
    map.setMapTypeId('local');//使用本地地图实体类型
    map.overlayMapTypes.insertAt(0, new CoordMapType(new google.maps.Size(256, 256)));
allmap=map;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191455.html原文链接:https://javaforall.net

(0)
上一篇 2026年1月31日 下午9:43
下一篇 2026年1月31日 下午10:22


相关推荐

  • 基于全卷积神经网络的图像分割方法详解(二)

    基于全卷积神经网络的图像分割方法详解(二)最近这段时间刚好忙完学业作业,抽空来总结一下前段时间的工作。前段时间一直忙于用深度学习做医学图像分割,采用的方法是FCN,也就是全卷积神经网络。全卷积神经网络是基于卷积神经网络的改进,使得输入和输出的尺寸一致,并且对每个像素点进行分类,达到图像分割的目的。下图是全卷积神经网络的流程图。其中第一行是提取特征步骤,然后2Xconv7和4Xconv7分别表示对conv7的输出进行2倍和4倍上采样…

    2022年6月19日
    38
  • 2268大约是多少_情态动词过去式

    2268大约是多少_情态动词过去式小 Q 在电子工艺实习课上学习焊接电路板。一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字 1,2,3… 进行标号。电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都存在且仅存在一条通路(通路指连接两个元件的导线序列)。在电路板上存在一个特殊的元件称为“激发器”。当激发器工作后,产生一个激励电流,通过导线传向每一个它所连接的节点。而中间节点接收到激励电流后,得到信息,并将该激励电流传向与它连接并且尚未接收到激励电流的节点。最终,激励电流将到达一些“终止节点”——

    2022年8月9日
    11
  • Superpowers 详细用法教程

    Superpowers 详细用法教程

    2026年3月16日
    6
  • Hello-Agents 《从零开始构建智能体》实践

    Hello-Agents 《从零开始构建智能体》实践

    2026年3月16日
    1
  • 史上最详细的kali安装教程[通俗易懂]

    史上最详细的kali安装教程[通俗易懂]一、下载系统镜像文件首先下载系统镜像,进入kali官网,在Downloads中选择DownloadKaliLinux,如下图所示。2.根据电脑配置选择合适的版本,在这里我选择的是64位版本,点击HTTP下载镜像文件,或者torrent下载可使用迅雷。kali版本介绍:第一类是常规的32和64位版本;第二类简化版如:kalilinuxlight;第三类桌面环境如:mate、k…

    2022年6月11日
    82
  • 4个世界上最长域名的网站是_域名最长多少个字符

    4个世界上最长域名的网站是_域名最长多少个字符第一个http://www.llanfairpwllgwyngyllg…iliogogogoch.co.uk/这个域名属于一个旨在宣传英国圭内斯郡安格尔西的一个同名村庄,这个名字的意思是“位于急流附近白榛树山谷中的圣玛丽亚教堂和红山洞附近的圣泰西里奥教堂。”第二个http://www.111111111111111111111…11111111111111.com/这个域

    2022年10月3日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号