Google Maps使用GMAPS.JS变得容易
钥匙要点
> gmaps.js是一个开源JavaScript库,简化了Google Maps JavaScript API,使开发人员更容易使用地图创建自定义应用程序。
- gmaps.js提供了各种用于自定义地图的组件,包括标记,多边形,叠加层,地理位置,地理编码和事件。它还允许创建可以嵌入网站的静态图。
- 库提供了添加和删除标记,绘制多边形和多边形,创建圆形形状以及添加带有HTML内容的覆盖的方法。
> 可以使用GMAPS.js中的GeoCode()方法来实现从给定位置地址计算地理坐标的过程。同样,Geolocate()方法可用于计算用户当前的地理位置。 gmaps.js还支持事件,允许开发人员在地图上发生特定事件的发生函数,例如双击或鼠标。 - >
- Google地图API和GMAPS Google在2005年推出了Google Maps API。这使开发人员可以使用地图创建自定义应用程序。 Google随后启动了用于Android和iOS应用程序开发的API。
- 与地图API一样有用,它们需要一些知识来利用。这就是gmaps.js的来源。gmaps.js是一个开源的MIT-LICERCE JAVASCRIPT库。 GMAPS由Gustavo Leon撰写,旨在简化原始的Google Maps JavaScript API。它需要处理广泛的API代码,并提供了处理地图的适当方法。它更干净,更简洁,因此更易于使用。 在本文中,我们将研究标记,多边形和叠加层之类的地图组件。我们还将讨论静态地图,以及使用地理位置和地理编码在用户位置上操作的使用。所有这些都将参考GMAP。它可以帮助您使用易于使用的方法创建地图应用程序。我已经用它来创建一个示例应用程序(MAPIT),我将在文章末尾进行进一步讨论。
- Google API和GMAP
地图是映射将加载的HTML元素ID。
我们可以用这样的gmap编写相同的基本应用:
><span>var map; </span><span>function initMap() { </span> map <span>= new google<span>.maps.Map</span>(document.getElementById('map'), { </span> <span>center: {lat: -34.397, lng: 150.644}, </span> <span>zoom: 8 </span> <span>}); </span><span>}</span>
本教程将指导您完成地图中最常用的组件,示例笔以演示每个组件。
入门创建一个基本的HTML页面,并向地图API添加引用。您也需要包含GMAPS库。因此,转到GMAPS并下载gmaps.js。将其包含在您的网页中,您就可以了。
<span>new GMaps({ </span> <span>el: '#map', </span> <span>lat: -34.397, </span> <span>lng: 150.644, </span> <span>zoom: 8 </span><span>});</span>
>
组件> MAPS API提供了各种用于自定义地图的组件。可以使用较少代码的gmap添加相同的组件。
>
>事件>可以将HTML DOM(文档对象模型)的更改描述为事件。您可以在地图上发生特定事件(例如双击或鼠标)来调用功能。以下片段定义了单击和zoom_changed事件的函数:
>
<span><span><!doctype html></span> </span><span><span><span><html</span>></span> </span> <span><span><span><head</span>></span> </span> <span><span><span><style</span>></span><span> </span></span><span><span> <span><span>#map</span> { </span></span></span><span><span> <span>width: 400px; </span></span></span><span><span> <span>height: 400px; </span></span></span><span><span> <span>} </span></span></span><span><span> </span><span><span></style</span>></span> </span> <span><span><span></head</span>></span> </span> <span><span><span><body</span>></span> </span> <span><span><span><div</span> id<span>="map"</span>></span><span><span></div</span>></span> </span> <span><!-- Google Maps JS API --> </span> <span><span><span><script</span> src<span>="https://maps.googleapis.com/maps/api/js"</span>></span><span><span></script</span>></span> </span> <span><!-- GMaps Library --> </span> <span><span><span><script</span> src<span>="gmaps.js"</span>></span><span><span></script</span>></span> </span> <span><span><span><script</span>></span><span> </span></span><span><span> <span>/* Map Object */ </span></span></span><span><span> <span>var mapObj = new GMaps({ </span></span></span><span><span> <span>el: '#map', </span></span></span><span><span> <span>lat: 48.857, </span></span></span><span><span> <span>lng: 2.295 </span></span></span><span><span> <span>}); </span></span></span><span><span> </span><span><span></script</span>></span> </span> <span><span><span></body</span>></span> </span><span><span><span></html</span>></span></span>
>事件部分中提供了所有地图事件的列表。有些有用的是:
>事件标记
标记是地图上的定位器。它通常显示为悬挂在标记位置上的气球。 GMAPS提供添加标记的AddMarker()方法。它接受标记的以下属性的字面属性:
>lat:Latitude
- lng:经度
- >标题:鼠标上显示的标题
- >图标:标记的自定义图像
- 详细信息:带有额外数据的自定义对象
- > Infowdoww:有关标记 的信息
- 其中 必须为LAT和LNG分配值,而其他值则是可选的。 InfowDOWOW的价值应该是另一个对象。此对象本身具有以下属性:
内容:html内容
- maxWidth:窗口的最大宽度。如果未设置,则窗口跨越其中的文本长度。
- infowdindow支持更多选项。
此片段是AddMarker()的有效示例:
>在
<span>var mapObj = new GMaps({ </span> <span>el: '#map', </span> <span>lat: 48.857, </span> <span>lng: 2.295, </span> <span>click: function(e) { </span> <span>alert('You clicked on the map'); </span> <span>}, </span> <span>zoom_changed: function(e) { </span> <span>alert('You zoomed the map'); </span> <span>} </span><span>});</span>
可以使用removemarker()方法删除标记。将标记对象传递给它(在我们的情况下为m)作为参数:
<span>var m = mapObj.addMarker({ </span> <span>lat: 48.8583701, </span> <span>lng: 2.2944813, </span> <span>title: 'Eiffel Tower', </span> <span>infoWindow: { </span> <span>content: '<h4>Eiffel Tower</h4><div>Paris, France</div>', </span> <span>maxWidth: 100 </span> <span>} </span><span>});</span>
> removeMarkers()共同删除了与地图对象关联的所有标记。
>
<span>var map; </span><span>function initMap() { </span> map <span>= new google<span>.maps.Map</span>(document.getElementById('map'), { </span> <span>center: {lat: -34.397, lng: 150.644}, </span> <span>zoom: 8 </span> <span>}); </span><span>}</span>
地理编码
为了在地图上找到任何点,您需要具有其地理坐标(
- 地址:位置地址字符串
- 回调:地理编码后调用函数
>英国的
的纬度和经度。下面的摘要将计算给定地址的地理坐标,并在该位置中心地图。如果找不到结果,则会显示一条消息:
<span>new GMaps({ </span> <span>el: '#map', </span> <span>lat: -34.397, </span> <span>lng: 150.644, </span> <span>zoom: 8 </span><span>});</span>
如果找不到地址的结果,状态存储回调函数中有两个参数:结果和状态。
> 结果是一个对象数组,将所有位置的位置存储在所有位置的位置。由于可以有多个具有相同名称的地方,因此可以有一个以上的结果。结果存储了其中的每个。可以使用结果[i]。demetry.location。
零_RESULTS
示例笔 geolocation
地理位置计算用户当前的地理位置。 Geolocate()方法使我们可以利用此功能。它接受一个具有四个属性的对象,其中始终是可选的,而其他属性都是必需的。每个属性被定义为在特定情况下执行的函数:>
成功:地理位置成功>
错误:地理位置不成功
not_supported:浏览器不支持地理位置
始终:在每种情况下执行
>
- 示例笔
- polylines
- > polylines有助于追踪地图上的路径。可以通过连接不同点的坐标来形成路径。 drawPolyline()方法为路径绘制了一条多线线。该路径作为坐标的数组(
- >和
- )提供。除路径外,您还可以为多线线指定其他属性。其中一些是:
<span><span><!doctype html></span> </span><span><span><span><html</span>></span> </span> <span><span><span><head</span>></span> </span> <span><span><span><style</span>></span><span> </span></span><span><span> <span><span>#map</span> { </span></span></span><span><span> <span>width: 400px; </span></span></span><span><span> <span>height: 400px; </span></span></span><span><span> <span>} </span></span></span><span><span> </span><span><span></style</span>></span> </span> <span><span><span></head</span>></span> </span> <span><span><span><body</span>></span> </span> <span><span><span><div</span> id<span>="map"</span>></span><span><span></div</span>></span> </span> <span><!-- Google Maps JS API --> </span> <span><span><span><script</span> src<span>="https://maps.googleapis.com/maps/api/js"</span>></span><span><span></script</span>></span> </span> <span><!-- GMaps Library --> </span> <span><span><span><script</span> src<span>="gmaps.js"</span>></span><span><span></script</span>></span> </span> <span><span><span><script</span>></span><span> </span></span><span><span> <span>/* Map Object */ </span></span></span><span><span> <span>var mapObj = new GMaps({ </span></span></span><span><span> <span>el: '#map', </span></span></span><span><span> <span>lat: 48.857, </span></span></span><span><span> <span>lng: 2.295 </span></span></span><span><span> <span>}); </span></span></span><span><span> </span><span><span></script</span>></span> </span> <span><span><span></body</span>></span> </span><span><span><span></html</span>></span></span>
> strokeWeight
> strokecolor
> streopacity >所有三个都定义了多线线的样式。还有其他人,尽管我们不会在本文中介绍它们。>
- 示例笔
- 可以使用RemovePolyLine()方法删除多线线。它将多线对象作为其参数。使用以下方式删除PL Polyine
<span>var map; </span><span>function initMap() { </span> map <span>= new google<span>.maps.Map</span>(document.getElementById('map'), { </span> <span>center: {lat: -34.397, lng: 150.644}, </span> <span>zoom: 8 </span> <span>}); </span><span>}</span>
> removepolylines()去除与地图对象相关的所有polyline。
<span>new GMaps({ </span> <span>el: '#map', </span> <span>lat: -34.397, </span> <span>lng: 150.644, </span> <span>zoom: 8 </span><span>});</span>
> drawpolygon()可帮助您在地图上创建多边形。几乎就像drawpolyline()方法一样,您需要定义路径属性。 Polygon的中风风格属性(卒中,strokecolor和streopocience)作品。他们定义多边形的边界。除此之外,您还可以指定多边形的填充颜色和不透明度:
fillcolor
- fillopacity
- 其他多边形选项可以在文档中找到。
记住:这是drawpolyline()的路径属性和drawpolygon()的路径属性
<span><span><!doctype html></span> </span><span><span><span><html</span>></span> </span> <span><span><span><head</span>></span> </span> <span><span><span><style</span>></span><span> </span></span><span><span> <span><span>#map</span> { </span></span></span><span><span> <span>width: 400px; </span></span></span><span><span> <span>height: 400px; </span></span></span><span><span> <span>} </span></span></span><span><span> </span><span><span></style</span>></span> </span> <span><span><span></head</span>></span> </span> <span><span><span><body</span>></span> </span> <span><span><span><div</span> id<span>="map"</span>></span><span><span></div</span>></span> </span> <span><!-- Google Maps JS API --> </span> <span><span><span><script</span> src<span>="https://maps.googleapis.com/maps/api/js"</span>></span><span><span></script</span>></span> </span> <span><!-- GMaps Library --> </span> <span><span><span><script</span> src<span>="gmaps.js"</span>></span><span><span></script</span>></span> </span> <span><span><span><script</span>></span><span> </span></span><span><span> <span>/* Map Object */ </span></span></span><span><span> <span>var mapObj = new GMaps({ </span></span></span><span><span> <span>el: '#map', </span></span></span><span><span> <span>lat: 48.857, </span></span></span><span><span> <span>lng: 2.295 </span></span></span><span><span> <span>}); </span></span></span><span><span> </span><span><span></script</span>></span> </span> <span><span><span></body</span>></span> </span><span><span><span></html</span>></span></span>
要删除多边形PG,请使用:
删除MapObj中定义的所有多边形:
<span>var mapObj = new GMaps({ </span> <span>el: '#map', </span> <span>lat: 48.857, </span> <span>lng: 2.295, </span> <span>click: function(e) { </span> <span>alert('You clicked on the map'); </span> <span>}, </span> <span>zoom_changed: function(e) { </span> <span>alert('You zoomed the map'); </span> <span>} </span><span>});</span>
圆圈
用drawpolygon()创建圆形形状是不可行的。 drawcircle()可以帮助您。它的参数列表包括:<span>var m = mapObj.addMarker({ </span> <span>lat: 48.8583701, </span> <span>lng: 2.2944813, </span> <span>title: 'Eiffel Tower', </span> <span>infoWindow: { </span> <span>content: '<h4>Eiffel Tower</h4><div>Paris, France</div>', </span> <span>maxWidth: 100 </span> <span>} </span><span>});</span>
lat:中心的纬度
lng:中心的经度
- 半径:地球上的半径。
- 其他选项包括中风和填充的样式(与多边形相同),还有一些。 >
- 示例笔
覆盖层
mapObj<span>.addMarker({ </span> <span>lat: 48.8583701, </span> <span>lng: 2.2944813, </span> <span>mouseover: function(e) { </span> <span>alert('Triggered'); </span> <span>} </span><span>});</span>
lat:Latitude
lng:经度
- 内容:html内容
- 垂直align:顶部,中,底部
- 水平allgin:左,中,右
- 垂直officeoffset
- > hixontalOffset
- 对齐和偏移相对于由LAT和LNG定义的点。
。 >示例片段:
>
示例笔
mapObj<span>.removeMarker(m);</span>
mapObj<span>.removeMarkers();</span>
>静态地图
<span>GMaps.geocode({ </span> <span>address: 'Stonehenge, United Kingdom', </span> <span>callback: function(results<span>, status</span>) { </span> <span>if (status == 'OK') { </span> latlng <span>= results[0].geometry.location; </span> mapObj<span>.setCenter(latlng.lat(), latlng.lng()); </span> <span>} else if (status == 'ZERO_RESULTS') { </span> <span>alert('Sorry, no results found'); </span> <span>} </span> <span>} </span><span>});</span>
> staticmapurl()在获取以下参数后生成所需的映射URL:
<span>GMaps.geolocate({ </span> <span>success: function(position) { </span> mapObj<span>.setCenter(position.coords.latitude, position.coords.longitude); </span> <span>}, </span> <span>error: function(error) { </span> <span>alert('Geolocation failed: ' + error.message); </span> <span>}, </span> <span>not_supported: function() { </span> <span>alert("Your browser does not support geolocation"); </span> <span>}, </span> <span>always: function() { </span> <span>alert("Always"); </span> <span>} </span><span>});</span>
>大小:像素
的宽度和高度的数组
lat
- Zoom
- >代码段:
- 示例笔
- 在我们的示例中,我们创建了一个IMG元素,并将URL添加到其src:
我们也可以在静态图上应用标记和各个多数。
<span>var path = [ </span> <span>[-12.044012922866312, -77.02470665341184], </span> <span>[-12.05449279282314, -77.03024273281858], </span> <span>[-12.055122327623378, -77.03039293652341], </span> <span>[-12.075917129727586, -77.02764635449216], </span> <span>[-12.07635776902266, -77.02792530422971], </span> <span>[-12.076819390363665, -77.02893381481931], </span> <span>[-12.088527520066453, -77.0241058385925] </span><span>]; </span> <span>var pl = mapObj.drawPolyline({ </span> <span>path: path, </span> <span>strokeColor: '#76ff03', </span> <span>strokeOpacity: 1, </span> <span>strokeWeight: 10 </span><span>});</span>
示例应用程序(mapit)
mapit(github上的查看源)为源和目标之间的路由创建静态地图。缩小到地图上的地址,并放置两个标记(源和目的地)。 Mapit将追踪从一个标记到另一个标记的路线。它将使用当前配置为静态图创建一个URL。您可以预览静态地图并下载图像。
结论
本文涵盖了地图的基本组成部分。我敢肯定,它已成为GMAP和交互式地图应用程序的良好启动指南。但这不应该在这里停止。 gmapsjs您可以做更多的事情。
您是否使用过Gmaps?如果是这样,您的经验是什么。如果您有任何评论或疑问,请加入下面的讨论。 经常询问的问题(常见问题解答)有关GMAPS.js
的Google地图>我如何开始使用gmaps.js?
才能开始使用gmaps.js,您首先需要将Google Maps JavaScript API包含在HTML文件中。之后,包括gmaps.js库。您可以从官方的GitHub存储库下载或使用CDN。包含这些脚本后,您可以通过创建新的GMAP对象并传递HTML元素的ID来初始化新地图,并在其中您希望显示地图,以及一些选项,例如中心的纬度和经度地图。
> gmaps.js.js?
gmaps.js的关键功能是什么简化了使用Google Maps的过程。它提供了一个简单直观的API,用于创建和操纵地图。关键功能包括轻松添加标记,多边形和层,地理位置,地理编码等能力。它还支持事件,允许您响应用户交互,例如点击或拖动。 .js很简单。您可以在gmaps对象上使用addmarker方法,并将其传递给具有标记的纬度和经度的对象。您还可以包含其他选项,例如标题,单击事件等等。
>我如何将geolocation与gmaps.js?
gmaps.js一起使用getgeolocation提供了一种可以用来使用的getGeoLocation方法。获取用户的当前位置。此方法返回了一个可以通过用户的纬度和经度解决的承诺。然后,您可以使用此信息将地图集中在用户的位置上,或在其位置添加标记。
如何使用gmaps.js.js.js?
如何将事件添加到gmaps.js?
gmaps.js的地图中,支持各种事件,包括单击,拖动,zoom_changed等。您可以使用AddListener方法将事件侦听器添加到您的GMAPS对象中,并在事件名称中传递并在事件发生时要执行一个回调函数。 ? >如何使用gmaps.js.js?
gmaps.js在地图上绘制形状。提供了在地图上绘制各种形状的方法,包括线,多边形,圆形和矩形。您可以在gmaps对象上使用Draboverlay,drawpolygon,drawcircle和drawRectangle方法。>
>如何使用gmaps.js.js?
gmaps.js允许您允许您允许您自定义地图的外观。使用样式自定义地图的外观。创建gmaps对象时,您可以通过样式选项传递,这应该是一系列样式对象,描述了如何样式的地图元素进行样式。
以上是Google Maps使用GMAPS.JS变得容易的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

此基于GO的网络漏洞扫描仪有效地确定了潜在的安全弱点。 它利用了GO的并发功能的速度功能,包括服务检测和漏洞匹配。让我们探索它的能力和道德

该试点程序是CNCF(云本机计算基础),安培计算,Equinix金属和驱动的合作,简化了CNCF GitHub项目的ARM64 CI/CD。 该计划解决了安全问题和绩效

该教程通过使用AWS服务来指导您通过构建无服务器图像处理管道。 我们将创建一个部署在ECS Fargate群集上的next.js前端,与API网关,Lambda函数,S3桶和DynamoDB进行交互。 Th

与这些顶级开发人员新闻通讯有关最新技术趋势的了解! 这个精选的清单为每个人提供了一些东西,从AI爱好者到经验丰富的后端和前端开发人员。 选择您的收藏夹并节省时间搜索REL
