ImageVerifierCode 换一换
格式:DOC , 页数:68 ,大小:538.50KB ,
资源ID:8886687      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8886687.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(Google地图API教程.doc)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Google地图API教程.doc

1、开发人员指南 地图基础知识 1 简介 2 Google 地图的“Hello, World” 2 加载 Google 地图 API 2 地图 DOM 元素 2 GMap2 - 基本对象 2 初始化地图 2 加载地图 3 经度和纬度 4 地图属性 5 地图交互 6 信息窗口 简介 任何 Google 地图 API 应用程序中的基础元素都是“地图”本身。本文档讨论 GMap2 基础对象的用法和地图操作的基础知识。 Google 地图的“Hello, World” 开始学习 Google 地图 API 最简单的方式是看一个简单的示例。下面的网页显示以北京的故宫博物院为

2、中心的 500x300 的地图。 Google Maps JavaScript API Example</t</p><p style='padding:5px 0px;'>3、itle> <script src=" type="text/javascript"></script> <script type="text/javascript"> function initialize() { if (GBrowserIsCompatible()) { var map= new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(39.9493, 116.3975), 13); </p><p style='padding:5px 0px;'>4、 } } </script> </head> <body onload="initialize()" onunload="GUnload()"> <div id="map_canvas" style="width: 500px; height: 300px"></div> </body> </html> 您可以查看此示例及下载、编辑和调试该示例,但必须将该文件中的密钥替换为您自己的 Google 地图 API 密钥。(如果注册了特定目录的密钥,也可以将其用于所有子目录。) 即使在此简单的示例中,也需要注意五点: 7 使用 script 标</p><p style='padding:5px 0px;'>5、签包含 Google 地图 API JavaScript。 8 创建名为“map_canvas”的 div 元素来包含地图。 9 编写 JavaScript 函数创建“map”对象。 10 将地图的中心设置为指定的地理点。 11 从 body 标签的 onLoad 事件初始化地图对象。 下面说明了这些步骤。 加载 Google 地图 API <script src=" type="text/javascript"> </script> 网址指向包含使用 Google 地图 API 所需所有符号和定义的 JavaScript 文件的位置。您的页面必须包含指向</p><p style='padding:5px 0px;'>6、此网址的 script 标签,使用注册 API 时收到的密钥。在此示例中,该密钥显示为“abcdefg”。 请注意,我们也传递 sensor 参数以指明此应用程序是否使用传感器来确定用户位置。在此示例中,我们将其设为变量“true_or_false”以强调您必须显式地将此值设置为 true 或 false。 地图 DOM 元素 <div id="map_canvas" style="width: 500px; height: 300px"></div> 要让地图在网页上显示,必须为其留出一个位置。通常,我们通过创建名为 div 的元素并在浏览器的文档对象模型 (DOM) 中获取此元素的</p><p style='padding:5px 0px;'>7、引用执行此操作。 在上述示例中,我们定义名为“map_canvas”的 div,并使用样式属性设置其尺寸。地图会自动使用容器尺寸调整自身的尺寸,除非使用构造函数中的 GMapOptions 显式地为地图指定尺寸。 GMap2 - 基本对象 var map= new GMap2(document.getElementById("map_canvas")); GMap2 类是表示地图的 JavaScript 类。此类的对象在页面上定义单个地图。(可以创建此类的多个实例,每个对象将在页面上定义一个不同的地图。)我们使用 JavaScript new 操作符创建此类的一个新实例。 当创建新的</p><p style='padding:5px 0px;'>8、地图实例时,在页面中指定一个 DOM 节点(通常是 div 元素)作为地图的容器。HTML 节点是 JavaScript document 对象的子对象,而且我们通过 document.getElementById() 方法获得该元素的引用。 此代码定义了一个变量(名为 map),并将新 GMap2 对象赋值给该变量。函数 GMap2() 称为“构造函数”,其定义(在 Google 地图 API 参考中简述)如下所示: 构造函数 说明 GMap2(container, opts?) 在通常是一个 DIV 元素的指定 HTML container 内创建新地图。您也可以通过 opts </p><p style='padding:5px 0px;'>9、参数传递 GMap2Options 类型的可选参数。 请注意因为 JavaScript 是松散类型的语言,我们可以不填写构造函数的任何可选参数,此处也未这样做。 初始化地图 map.setCenter(new GLatLng(39.9493, 116.3975), 13); 通过 GMap2 构造函数创建地图后,我们需要再做一件事:将其初始化。初始化通过地图的 setCenter() 方法完成。setCenter() 方法要求有 GLatLng 坐标和缩放级别,而且必须先发送此方法,然后再在地图上执行其他任何操作,包括设置地图本身的其他任何属性。 加载地图 <body onl</p><p style='padding:5px 0px;'>10、oad="initialize()" onunload="GUnload()"> 当 HTML 页面显示时,文档对象模型 (DOM) 即会扩展,接收其他外部图像和脚本并将其合并到 document 对象中。为确保我们的地图仅放置在完全加载后的页面上,我们仅在 HTML 页面的 <body> 元素收到 onload 事件后才执行构造 GMap2 对象的函数。这样做可以避免出现不可预期的行为,并使我们可以对地图绘制的方式和时间进行更多控制。 onload 属性是事件处理程序的示例。Google 地图 API 还提供了大量事件可以用来“监听”状态变化。请参阅地图事件和事件监听器以了解更多信息。 </p><p style='padding:5px 0px;'>11、 GUnload() 函数是用来防止内存泄漏的实用工具函数。 经度和纬度 既然现在已经有地图了,我们还需要一种方法来引用地图上的位置。在 Google 地图 API 中,GLatLng 对象提供了此类机制。可以构造一个 GLatLng 对象,按照制图学的惯例以 {经度, 纬度} 的顺序传递参数: var myGeographicCoordinates= new GLatLng(myLatitude, myLongitude) 注意:将“地址”转变为地理点的过程称为“地址解析”,将在“Google 地图 API 服务”部分中详细讨论。 就像它可用于轻松地引用地理点一样,它也可用于定义</p><p style='padding:5px 0px;'>12、对象的地理边界。例如,地图在称为视口的窗口内显示整个世界的当前“窗口”。此视口可以通过四个角上的矩形点来定义。GLatLngBounds 对象提供了这个功能,通过使用分别表示边界框的西南角和东北角的两个 GLatLng 对象定义一个矩形区域来实现。 GLatLng 对象在 Google 地图 API 中用途广泛。例如,GMarker 对象在其构造函数中具有 GLatLng,并在地图上的指定地理位置放置标记“叠加层”。 下面的示例使用 getBounds() 返回当前视口,然后在地图上的这些边界内随机放置 10 个标记: function initialize() { var map=</p><p style='padding:5px 0px;'>13、 new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(39.9493, 116.3975), 13); // Add 10 markers to the map at random locations var bounds= map.getBounds(); var southWest= bounds.getSouthWest(); var northEast= bounds.getNorthEast(); var lngSpan= northEast.lng()</p><p style='padding:5px 0px;'>14、 - southWest.lng(); var latSpan= northEast.lat() - southWest.lat(); for (var i= 0; i< 10; i++) { var point= new GLatLng(southWest.lat() + latSpan* Math.random(), southWest.lng() + lngSpan* Math.random()); map.addOverlay(new GMarker(point)); } } 查看示例 (map-markers.html) 注意:有</p><p style='padding:5px 0px;'>15、关 GMarker 对象的详细信息位于叠加层部分中。 地图属性 默认情况下,在 Google 地图 API 中,地图使用标准的“绘制”图块显示。但是,Google 地图 API 也支持其他地图类型。以下是标准地图类型: · G_NORMAL_MAP- 默认视图 · G_SATELLITE_MAP - 显示 Google 地球卫星图像 · G_HYBRID_MAP - 混合显示普通视图和卫星视图 · G_DEFAULT_MAP_TYPES - 这三个类型的数组,在需要重复处理的情况下非常有用 可以使用 GMap2 对象的 setMapType() 方法设置地图类型。例如,下面的代码</p><p style='padding:5px 0px;'>16、将地图设置为使用 Google 地球的卫星视图: var map= new GMap2(document.getElementById("map_canvas")); map.setMapType(G_SATELLITE_MAP); 地图还包含对了解情况非常有用的大量属性。例如,要了解当前视口的尺寸,可使用 GMap2 对象的 getBounds() 方法来返回 GLatLngBounds 值。 每个地图还包含一个“缩放级别”,用于定义当前视图的分辨率。在普通地图视图内,可以使用 0(最低缩放级别,在地图上可以看到整个世界)到 19(最高缩放级别,可以看到独立建筑物)之间的缩放级</p><p style='padding:5px 0px;'>17、别。缩放级别因所查看地区而异,因为地球上某些地区的数据比其他地区更详细。在卫星视图中可以使用多达 20 个缩放级别。 可以通过使用 GMap2 对象的 getZoom() 方法检索地图当前使用的缩放级别。 关于缩放级别、地图图块以及创建自己的自定义地图类型的更多信息,请参阅图块叠加层部分。 地图交互 既然现在有了 GMap2 对象,就可以与之进行交互了。基本地图对象的外观和行为与您在 Google 地图网站上交互的地图非常相似,并带有大量内置行为。GMap2 对象还提供了大量配置方法来改变地图对象本身的行为。 默认情况下,和在 上一样,地图对象会对用户的活动做出反应。但您可以使用大</p><p style='padding:5px 0px;'>18、量实用工具方法改变此行为。例如,GMap2.disableDragging() 方法禁止了点击并拖拽地图到新位置的功能。 您还可以通过编程与地图交互。GMap2 对象支持可以直接改变地图状态的大量方法。例如,setCenter()、panTo 和 zoomIn() 方法通过编程来操作地图,而不是通过用户交互来操作地图。 下面的示例显示一个地图,等待两秒钟,然后平移到新中心点。panTo 方法将地图中心设置在指定点处。如果指定点位于地图的可见部分,则地图会平稳地平移到该点,否则会跳至该点。 var map= new GMap2(document.getElementById("map_ca</p><p style='padding:5px 0px;'>19、nvas")); map.setCenter(new GLatLng(39.9493, 116.3975), 13); window.setTimeout(function() { map.panTo(new GLatLng(39.927, 116.407)); }, 1000); 查看示例 (map-animate.html) 可以通过使用 Google 地图 API 事件进行更复杂的交互。 信息窗口 所有使用 Google 地图 API的地图都有可能显示类型为 GInfoWindow 的单个“信息窗口”,该窗口在地图上端以浮动窗口显示 HTML 内容。信息窗口有点像漫画</p><p style='padding:5px 0px;'>20、书上的文字气球;它有一个内容区域和锥形引线,引线的头在地图的指定点上。点击 Google 地图上的标记可以看到活动的信息窗口。 GInfoWindow 对象没有构造函数。当创建地图时,会自动创建一个信息窗口并将其附加到地图上。对于指定的地图,一次不能显示多个信息窗口,但可以移动信息窗口并可以更改其内容(如果需要)。 GMap2 对象提供了 openInfoWindow() 方法,该方法将一个点和一个 HTML DOM 元素作为参数。HTML DOM 元素附加到信息窗口容器中,信息窗口的尖端会固定在指定点上。 GMap2 的 openInfoWindowHtml() 方法相似,但是它使用 </p><p style='padding:5px 0px;'>21、HTML 字符串作为其第二个参数而不是 DOM 元素。 要创建信息窗口,请调用 openInfoWindow 方法,并向其传递位置和要显示的 DOM 元素。下面的示例代码显示了一个信息窗口,该窗口锚定在地图中心,内容为一条简单消息“Hello, world”。 var map= new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(39.9493, 116.3975), 13); map.openInfoWindow(map.getCenter(), </p><p style='padding:5px 0px;'>22、 document.createTextNode("Hello, world")); 查看示例 (map-infowindow.html) 有关信息窗口的完整文档,请查阅 Google 地图 API 参考 事件 1 地图事件概述 2 事件监听器 3 在事件监听器中使用闭包 4 在事件中使用传递的参数 5 将事件绑定到对象 6 监听 DOM 事件 7 删除事件监听器 地图事件概述 浏览器中的 JavaScript 是“事件驱动的”,这表示 JavaScript 通过生成事件来响应交互,并期望程序能够“监听”感兴趣的活动。例如,在浏览器中,用户的鼠标和键盘交互可以创建在 D</p><p style='padding:5px 0px;'>23、OM 内传播的事件。对某些事件感兴趣的程序会为这些事件注册 JavaScript 事件监听器,并在接收这些事件时执行代码。 Google 地图 API 通过为地图 API 对象定义自定义事件而添加到此事件模型中。请注意,地图 API 事件是独立的,与标准 DOM 事件不同。但是,由于不同的浏览器实现不同的 DOM 事件模型,因此地图 API 还提供监听和响应这些 DOM 事件但无需处理各种跨浏览器特性的机制。 事件监听器 通过使用 GEvent 命名空间中的实用工具函数注册事件监听器,来处理 Google 地图 API 中的事件。每个地图 API 对象都导出大量已命名的事件。例如,GMa</p><p style='padding:5px 0px;'>24、p2 对象导出 click、dblclick 和 move 事件,以及其他许多事件。每个事件都在指定的环境下发生,并且可以传递标识环境的参数。例如,当用户在地图对象中移动鼠标时,会触发 mousemove 事件,并且该事件会传递鼠标所在地理位置的 GLatLng。 有关 GMap2 事件及其生成的参数的完整列表,请参见 GMap2.Events。 注册用来获取这些事件的相关通知的监听器,请使用静态方法 GEvent.addListener()。该方法有三个参数,一个对象,一个待监听事件以及一个在指定事件发生时调用的函数。例如,每当用户点击地图时,下面的代码段都会显示警告: var map</p><p style='height:0px;padding:0;overflow:hidden'>25、 new GMap2(document.getElementById("map")); map.setCenter(new GLatLng(39.9493, 116.3975), 13); GEvent.addListener(map, "click", function() { alert("您点击了地图。"); }); 查看示例 (event-simple.html) 监听器也能够捕获事件的环境。在下面的示例代码中,显示用户拖动地图后地图中心的经度和纬度。 var map= new GMap2(document.getElementById("map")); GEve</p><p style='height:0px;padding:0;overflow:hidden'>26、nt.addListener(map, "moveend", function() { var center= map.getCenter(); document.getElementById("message").innerHTML= center.toString(); }); map.setCenter(new GLatLng(39.9493, 116.3975), 13); 查看示例 (event-context.html) 在事件监听器中使用闭包 当执行事件监听器时,一个常用的好方法就是将私有数据和持久性数据附加到一个对象。JavaScript 不支持“私有”实例</p><p style='height:0px;padding:0;overflow:hidden'>27、数据,但它却支持闭包,闭包允许内部函数访问外部变量。在事件监听器中,访问通常不附加到发生事件的对象的变量时,闭包非常有用。 下面的示例在事件监听器中使用函数闭包将加密消息分配给一组标记。点击每个标记都可以看到加密消息的一部分,该消息并不包含在标记自身内部。 var map= new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(39.9493, 116.3975), 13); // Creates a marker at the given point // The five mar</p><p style='height:0px;padding:0;overflow:hidden'>28、kers show a secret message when clicked // but that message is not within the marker's instance data function createMarker(point, number) { var marker= new GMarker(point); var message= ["这","是","个","秘密","消息"]; marker.value= number; GEvent.addListener(marker, "click", function() { va</p><p style='height:0px;padding:0;overflow:hidden'>29、r myHtml= "<b>#" + number+ "</b><br/>" + message[number-1]; map.openInfoWindowHtml(point, myHtml); }); return marker; } // Add 5 markers to the map at random locations var bounds= map.getBounds(); var southWest= bounds.getSouthWest(); var northEast= bounds.getNorthEast(); var lngSpa</p><p style='height:0px;padding:0;overflow:hidden'>30、n= northEast.lng() - southWest.lng(); var latSpan= northEast.lat() - southWest.lat(); for (var i= 0; i< 5; i++) { var point= new GLatLng(southWest.lat() + latSpan* Math.random(), southWest.lng() + lngSpan* Math.random()); map.addOverlay(createMarker(point, i+ 1)); } 查看示例 (event-closure</p><p style='height:0px;padding:0;overflow:hidden'>31、html) 在事件中使用传递的参数 地图 API 事件系统中的许多事件在触发事件时都会传递参数。例如,如果地图点击发生在叠加层上,GMap2“点击”事件会传递 overlay 和 overlaylatlng;否则,它传递地图坐标的 latlng。可以通过将指定的符号直接传递给事件监听器中的函数来访问这些参数。 在下面的示例中,我们首先进行测试,即检查是否定义了 latlng 参数,以确保点击发生在地图图块上;这样,我们就可以在坐标点的上方打开一个信息窗口,并在信息窗口中显示转化为像素的坐标以及地图的缩放级别。 var map= new GMap2(document.getElemen</p><p style='height:0px;padding:0;overflow:hidden'>32、tById("map_canvas")); map.setCenter(new GLatLng(39.9493, 116.3975), 13); GEvent.addListener(map,"click", function(overlay, latlng) { if (latlng) { var myHtml= "GPoint 为: " + map.fromLatLngToDivPixel(latlng) + ", 缩放级别:" + map.getZoom(); map.openInfoWindow(latlng, myHtml); } }</p><p style='height:0px;padding:0;overflow:hidden'>33、); map.addControl(new GSmallMapControl()); //增加控制条 map.addControl(new GMapTypeControl()); //增加卫星地图和普通地图的显示 查看示例 (event-arguments.html) 将事件绑定到对象方法 当您希望将事件监听器附加到对象的特定实例时,函数非常有用。如果您不希望这样,而是希望响应事件时对象的所有实例都调用某方法,可以使用 GEvent.bind()。在下面的示例中,MyApplication 的实例将地图事件与其成员方法绑定在一起,当触发事件时会修改类状态: function MyA</p><p style='height:0px;padding:0;overflow:hidden'>34、pplication() { this.counter= 0; this.map= new GMap2(document.getElementById("map")); this.map.setCenter(new GLatLng(39.9493, 116.3975), 13); GEvent.bind(this.map, "click", this, this.onMapClick); } MyApplication.prototype.onMapClick= function() { this.counter++; alert("这是您第" + this.</p><p style='height:0px;padding:0;overflow:hidden'>35、counter+ " " + "次点击" } var application= new MyApplication(); 查看示例 (event-bind.html) 监听 DOM 事件 Google 地图 API 事件模型创建并管理自己的自定义事件。但是,DOM 也会根据当前使用的特定浏览器事件模型创建和调度自己的事件。如果您希望捕获并响应这些事件,Google 地图 API 提供的独立于浏览器的包装器可以监听和绑定 DOM 事件而不需要自定义代码。 GEvent.addDomListener() 静态方法为 DOM 节点上的 DOM 事件注册事件处理程序。同</p><p style='height:0px;padding:0;overflow:hidden'>36、样,GEvent.bindDom() 静态方法允许您为类实例上的 DOM 事件注册事件处理程序。 删除事件监听器 不再需要事件监听器时,应将其删除。甚至在事件只需触发一次的情况下,也可能需要删除。删除闭包内的匿名函数所定义的事件监听器可能很困难。但是,addListener()、addDomListener()、bind() 和 bindDom() 函数会返回 GEventListener 句柄,可用来最终取消注册处理程序。 下面的示例通过在地图上放置标记来响应点击。任何后续点击都可删除事件监听器。请注意,这会导致不再执行 removeOverlay() 代码。另请注意,您甚至可以从事件</p><p style='height:0px;padding:0;overflow:hidden'>37、监听器自身内部删除事件监听器。 function MyApplication() { this.counter= 0; this.map= new GMap2(document.getElementById("map")); this.map.setCenter(new GLatLng(39.9493, 116.3975), 13); var myEventListener= GEvent.bind(this.map, "click", this, function(overlay, latlng) { if (this.counter== 0) { if</p><p style='height:0px;padding:0;overflow:hidden'>38、 (latlng) { this.map.addOverlay(new GMarker(latlng)) this.counter++; } else if (overlayinstanceof GMarker) { this.removeOverlay(marker) } } else { GEvent.removeListener(myEventListener); } }); } function load() { var application= new MyAppli</p><p style='height:0px;padding:0;overflow:hidden'>39、cation(); } 查看示例 (event-removal.html) 控件 1 地图控件概述 2 向地图添加控件 3 在地图上放置控件 4 修改标准控件的结构 5 创建自定义控件 控件概述 上的地图包含允许用户与地图交互的 UI 元素,这些元素称为“控件”。您可以在 Google 地图 API 应用程序中添加这些控件的多种组合。您还可以通过子类化 GControl 类来构建自己的自定义控件。 地图 API 带有大量可以在地图中使用的内置控件: · GLargeMapControl - 一个在 Google 地图上使用的大平移/缩放控件。默认情况下显示在地图的左上</p><p style='height:0px;padding:0;overflow:hidden'>40、角。 · GSmallMapControl - 一个在 Google 地图上使用的小一点的平移/缩放控件。默认情况下显示在地图的左上角。 · GSmallZoomControl - 小型缩放控件(无平移控件),用于在 Google 地图上显示行车路线的小地图弹出窗口。 · GScaleControl - 地图比例尺 · GMapTypeControl - 让用户切换地图类型(例如“地图”和“卫星”)的按钮 · GHierarchicalMapTypeControl - 用于放置多个地图类型选择器的一组精选的嵌套按钮和菜单项。 · GOverviewMapControl - 位于屏幕</p><p style='height:0px;padding:0;overflow:hidden'>41、一角的可折叠概览地图。 所有这些控件都基于 GControl 对象。 GMapTypeControl 和 GHierarchicalMapTypeControl 是特殊情况,因为它们还可以进行配置。这些控件增加的功能可以更改 Google 地图 API 中的地图当前所用的 GMapType。有关配置这些控件的详细信息,请参见修改标准控件的结构。 下面是当前支持的地图类型列表: · G_NORMAL_MAP 显示 Google 地图默认的普通二维图块 · G_SATELLITE_MAP 显示拍摄的图块 · G_HYBRID_MAP 同时显示拍摄的图块和普通(突出显示道路、城市名等明显</p><p style='height:0px;padding:0;overflow:hidden'>42、地图特征)图块 · G_PHYSICAL_MAP 根据地形信息显示实际地图图块 如果您有图像或者已经定义好的叠加层,也可以定义自己的自定义地图类型。 默认情况下,Google 地图 API 提供三种地图类型:G_NORMAL_MAP、G_SATELLITE_MAP 和 G_HYBRID_MAP。您可以通过这两种方式来改变地图上可用的地图类型:使用 GMap2.removeMapType() 删除地图类型;使用 GMap2.addMapType() 添加地图类型。无论您何时创建地图类型控件,它都使用当前地图上已经添加的地图类型,并通过控件让用户可以切换这些地图类型。请注意,您必须在添加地图</p><p style='height:0px;padding:0;overflow:hidden'>43、类型控件(主要指 GHierarchicalMapTypeControl)之前指定各地图类型之间的阶层关系,以便地图类型控件可以准确反映这些关系。 使用下面的代码可将 G_HYBRID_MAP 从添加到地图上的可用地图类型中删除,只剩下两种地图类型。添加 GMapTypeControl 后,便只有这两种地图类型可用。 var map= new GMap2(document.getElementById("map_canvas"), { size: new GSize(640,320) } ); map.removeMapType(G_HYBRID_MAP); map.setCent</p><p style='height:0px;padding:0;overflow:hidden'>44、er(new GLatLng(39.927, 116.407), 11); var mapControl= new GMapTypeControl(); map.addControl(mapControl); map.addControl(new GLargeMapControl()); 查看示例 (control-maptypes.html) 向地图添加控件 可以使用 GMap2 方法 addControl() 向地图添加控件。例如,要将 Google 地图上显示的平移/缩放控件添加到您的地图中,您可以在您的地图初始化代码中添加下面这行语句: map.addControl(ne</p><p style='height:0px;padding:0;overflow:hidden'>45、w GLargeMapControl()); 可以向地图添加多个控件。在本例中,我们添加内置 GSmallMapControl 和 GMapTypeControl 控件,它们分别可以平移/缩放地图以及切换“地图”与“卫星”这两种类型。在地图中添加标准控件后,它们即刻完全生效。 var map= new GMap2(document.getElementById("map")); map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng</p><p style='height:0px;padding:0;overflow:hidden'>46、39.9493, 116.3975), 13); 查看示例 (control-simple.html) 在地图上放置控件 addControl 方法有第二个可选的参数 GControlPosition,可用于指定控件在地图上的位置。它可以是以下值之一,这些值分别指定要放置控件的地图某个角: · G_ANCHOR_TOP_RIGHT · G_ANCHOR_TOP_LEFT · G_ANCHOR_BOTTOM_RIGHT · G_ANCHOR_BOTTOM_LEFT 如果不包含此参数,则地图 API 会使用控件指定的默认位置。 GControlPosition 还可以指定偏移量</p><p style='height:0px;padding:0;overflow:hidden'>47、来指示控件的放置位置与地图边界间隔多少像素。这些偏移量使用 GSize 对象指定。 本示例会将 GMapTypeControl 添加到地图的右上角,填充为 10 个像素。双击地图上的任何位置可以删除该控件,将其放在地图的右下角。 var map= new GMap2(document.getElementById"map_canvas")); var mapTypeControl= new GMapTypeControl(); var topRight= new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10)); var </p><p style='height:0px;padding:0;overflow:hidden'>48、bottomRight= new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,10)); map.addControl(mapTypeControl, topRight); GEvent.addListener(map, "dblclick", function() { map.removeControl(mapTypeControl); map.addControl(new GMapTypeControl(), bottomRight); }); map.addControl(new GSmallMapCont</p><p style='height:0px;padding:0;overflow:hidden'>49、rol()); map.setCenter(new GLatLng(39.9493, 116.3975), 13); 查看示例 (control-positioning.html) 请参见 GControlPosition 类参考以了解详细信息。 修改标准控件的结构 Google 地图 API 内的大多数控件都提供具有标准行为的简单控件。但是,有些控件需要初始化才能正常使用。例如,GHierarchicalMapTypeControl 通常需要一定的初始化才能在层叠“菜单”中以正确顺序显示地图类型。 此示例将带有十字准线图块层叠加层的 G_PHYSICAL_MAP 地图类型添加到地图中,然后创建 GHierarchicalMapTypeControl 来排列添加到地图的其他地图类型。 </p> </div> </div> <span id="LabelScript"></span> <script src="https://m.zixin.com.cn/JS/bootstrap-collapse.js"></script> <div class="siteInner_bg" style="margin-top: 40px; border: solid 0px red; margin-left: 0px; margin-right: 0px;"> <div> <div style=" margin: auto; overflow:hidden; text-align: center;"> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?6e2a21bc68316db308b5fdc9a0d11f2e"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </div> <div style=" height:80px; margin: auto; overflow:hidden; text-align: center;"> <a target="_blank" href='https://m.zixin.com.cn/ADMiddle.aspx?t=92ULKnFRa/o='> <img src="https://www.zixin.com.cn/FileUpload/Images/81dd1a0b-02e3-435a-aa37-fbfccae9a83d.gif" width="100%" height='80' alt="移动网页_全站_页脚广告1" /> </a> </div> </div> <div class="siteInner"> <p style="white-space: normal; text-align: center;"><a href="https://www.zixin.com.cn/h-33.html" target="_blank" title="关于我们" textvalue="关于我们"><span style="text-align: center;">关于我们</span></a> <span style="text-align: center;">     </span><a href="https://www.zixin.com.cn/h-37.html" target="_blank" title="便捷服务" textvalue="便捷服务">便捷服务</a>  <span style="text-align: center;">     </span><a href="https://ai.zixin.com.cn/" target="_blank" title="自信AI" textvalue="自信AI">自信AI</a> <span style="text-align: center;">      </span><a href="https://gpt.zixin.com.cn/" target="_blank" title="AI导航" textvalue="AI导航">AI导航</a>        <a href="https://www.zixin.com.cn/info/266.html" target="_blank" title="抽奖活动" textvalue="抽奖活动">抽奖活动</a></p><p style="white-space: normal; text-align: center;"><span style="color: rgb(153, 153, 153); font-family: 微软雅黑, 宋体, Arial; font-size: 12px; text-align: center; background-color: rgb(248, 248, 248);"></span><span style="text-align: center;">©2010-2026 宁波自信网络信息技术有限公司 </span><span style="text-align: center;"> </span><span style="text-align: center;">版权所有</span></p><p style="white-space: normal; text-align: center;"><span style="text-align: center;"><span style="text-align: center;"><span style="text-align: center;"><span style="text-align: center;">客服电话:<span style="text-wrap: wrap;">0574-28810668</span>  <span style="text-align: center;">投诉</span>电话:18658249818</span></span></span></span></p><p style="white-space: normal; text-align: center;"><span style="text-align: center;"><img src="https://www.zixin.com.cn/FileUpload/ueditor_s/upload/2022-6/9/6379033271755225397249870.png" title="gongan.png" alt="gongan.png"/></span><a href="http://www.beian.gov.cn/portal/index.do" target="_blank" textvalue="浙公网安备33021202000488号">浙公网安备33021202000488号</a>   </p><p style="white-space: normal; text-align: center;"><img src="https://www.zixin.com.cn/FileUpload/ueditor_s/upload/2022-7/4/6379256265460890686562879.png" title="icp.png" alt="icp.png"/><a href="http://beian.miit.gov.cn/" target="_blank" textvalue="浙ICP备2021020529号-1">浙ICP备2021020529号-1</a> <span style="text-align: center;"> | </span> <a href="https://dxzhgl.miit.gov.cn/dxxzsp/xkz/xkzgl/resource/qiyesearch.jsp?num=%E5%AE%81%E6%B3%A2%E8%87%AA%E4%BF%A1%E7%BD%91%E7%BB%9C%E4%BF%A1%E6%81%AF%E6%8A%80%E6%9C%AF%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8&type=xuke" target="_blank" title="浙B2-20240490" textvalue="浙B2-20240490">浙B2-20240490</a><span style="text-align: center;">  </span></p><p style="white-space: normal; text-align: left;"><span style="text-align: center; font-family: 楷体, 楷体_GB2312, SimKai; font-size: 20px;">关注我们</span><span style="text-align: center;"> :<a href="https://www.zixin.com.cn/news/113.html" target="_blank"><img src="https://www.zixin.com.cn/FileUpload/ueditor_s/upload/2022-7/9/6379298231429297878483475.png" title="微信公众号" alt="微信公众号"/></a></span><span style="text-align: center;">    <a href="https://www.zixin.com.cn/news/113.html" target="_blank"><img src="https://www.zixin.com.cn/FileUpload/ueditor_s/upload/2022-7/5/6379257739400583672497521.png" title="抖音" alt="抖音"/></a>    <a href="https://weibo.com/zixinnetwork" target="_blank" style="color: rgb(217, 83, 79); text-align: center; white-space: normal;"><img src="https://www.zixin.com.cn/FileUpload/ueditor_s/upload/2022-7/5/6379257739400583672497523.png" title="微博" alt="微博"/></a>    <a href="https://zixinnetwork.lofter.com/" target="_blank"><img src="https://www.zixin.com.cn/FileUpload/ueditor_s/upload/2022-7/5/6379257740834991205479163.png" title="LOFTER" alt="LOFTER"/></a> </span></p> </div> </div> <div style="position: fixed; bottom: 100px; right: 15px; z-index: 100000000000000000;"> <a href="https://work.weixin.qq.com/kfid/kfcb5dffb1386b26424"><img src="https://www.zixin.com.cn/FileUpload/Images/c1022425-c464-4203-b6dc-db237b2252d5.gif" style="width:36px" alt="客服"/></a> </div> <div class="trnav clearfix" id="navcontent" style="display: none; background-color:#3a71b1; "> <div class="trlogoside" id="navlogo" style="display: none;"> <a href="https://m.zixin.com.cn/" title="咨信网"><img src="https://www.zixin.com.cn/FileUpload/Images/c4280cd2-fe62-449e-aeca-027ef73439f5.png" alt="咨信网"></a> <div class="trnavclose" id="navclose"> <span></span> </div> </div> <div class="navcontainer"> <div class="row"> <ul class="nav navbar-nav trnavul headercontent" id="navigation" style="margin:20px 0 0px;"> <li><a target="_parent"href="https://m.zixin.com.cn/login.aspx">登录</a></li> <li><a target="_parent"href="https://m.zixin.com.cn/">首页 </a></li> <li><a target="_parent"href="https://m.zixin.com.cn/booklist-0.html">分类 </a></li> <li><a target="_parent"href="https://m.zixin.com.cn/infos.html">学堂 </a></li> <li><a target="_parent"href="https://m.zixin.com.cn/newslist.html">公告 </a></li> <li><a target="_parent"href="https://m.zixin.com.cn/h-0.html">帮助中心 </a></li> </ul> </div> </div> </div> <script type="text/javascript"> function stopPropagation(e) { var ev = e || window.event; if (ev.stopPropagation) { ev.stopPropagation(); } else if (window.event) { window.event.cancelBubble = true;//兼容IE } } $("#navmore").click(function (e) { $("#navcontent").show(); $("#navlogo").show(); stopPropagation(e); var navcontentwidth = $("#navcontent").width(); $('#navcontent').css({ 'right': '-' + navcontentwidth + 'px' }); $("#navcontent").show().animate({ "right": 0 }, 300); }); $(document).bind('click', function () { var navcontentwidth = $("#navcontent").width(); $("#navcontent").animate({ 'right': '-' + navcontentwidth + 'px' }, 300, function () { $("#navcontent").hide(); }); $("#navlogo").fadeOut(300); }); $("#navcontent").click(function (e) { stopPropagation(e); }); $("#navclose").click(function (e) { var navcontentwidth = $("#navcontent").width(); $("#navcontent").animate({ 'right': '-' + navcontentwidth + 'px' }, 300, function () { $("#navcontent").hide(); }); $("#navlogo").fadeOut(300); }); </script> <script> function BaseShare(title, desc, link, imgUrl) {} </script> <!--footer--> <footer class="footer"> <a target="_parent" class="footer-item" href="https://m.zixin.com.cn/"> <img class="footer-item-img" src="/Master/img/tabbar/home.png" alt="首页" /> <div class="footer-item-txt ">首页</div> </a> <a target="_parent" class="footer-item" id="classify" href="https://m.zixin.com.cn/bookmap.html"> <img class="footer-item-img" src="/Master/img/tabbar/category.png" alt="分类" /> <div class="footer-item-txt ">分类</div> </a> <a target="_parent" class="footer-item" id="case" href="https://m.zixin.com.cn/zhuantilist-.html"> <img class="footer-item-img" src="/Master/img/tabbar/case.png" alt="专题" /> <div class="footer-item-txt ">专题</div> </a> <a target="_parent" class="footer-item" id="my" href="https://m.zixin.com.cn/UserDefault.aspx"> <img class="footer-item-img" src="/Master/img/tabbar/my.png" alt="我的" /> <div class="footer-item-txt ">我的</div> </a> </footer> <script> $(document).ready(function () { var arr = $(".headercontent"); for (var i = 0; i < arr.length; i++) { (function (index) { var url = "https://m.zixin.com.cn/header.aspx"; $.get(url + "?tp=0&t=" + (new Date()).valueOf(), function (d) { try { arr.eq(index).empty().html(d); } catch (e) { } try { arr.html(d); } catch (e) { } }); })(i); } }); </script> <script src="https://m.zixin.com.cn/js/jquery.lazyload.js"></script> <script charset="utf-8"> $("img.lazys").lazyload({ threshold: 200, effect: "fadeIn" }); </script> </body> </html>