草庐IT

javascript - 如何在 Leaflet 中将点从 [x,y] 坐标投影到 LatLng?

我正在使用Leaflet1.0.0rc3并且需要使用绝对像素值来修改map上的某些内容。因此,我想知道用户点击像素的位置,然后将其转换回LatLng坐标。我尝试使用map.unproject(),这似乎是正确的方法(unproject()Leafletdocumentation)。但该方法产生的La​​tLng值与e.latlng的输出有很大不同。(例如,输入LatLng(52,-1.7)并输出LatLng(84.9,-177))。所以我一定是做错了什么。问题:将点从层(x,y)空间投影到LatLng空间的正确方法是什么?这是一个代码片段(fiddle:https://jsfiddle

javascript - 在谷歌地图上自由绘制

我正在使用GoogleMapsAPIV3在Googlemap中绘制一些自由形式的多边形,而不是标准库附带的标准点击多边形。一切都很好。问题:多边形生成大量可编辑点。如何在需要时简化多边形并创建可编辑点?这里是我的代码:varlatlng=newgoogle.maps.LatLng(46.779231,6.659431);varoptions={center:latlng,zoom:19,mapTypeId:google.maps.MapTypeId.ROADMAP,draggable:false};varmap=newgoogle.maps.Map(document.getElemen

javascript - 将 Leaflet LatLng 投影到平铺像素坐标

对于Canvas图层,如何访问特定图block的点击像素?给定像{lat:37.68816,lng:-119.76196}这样的LatLng,我如何:#1,检索正确的点击block,#2,block内的像素坐标?这两个都应该考虑maxNativeZoom。 最佳答案 需要像L.CRS.EPSG3857这样的CRS。map的CRS可通过map.options.crs访问。需要真正的缩放、图block大小(如256,但可能为512或更高maxNativeZoom)和像素原点,如map.getPixelOrigin():constlatl

javascript - LatLng 是否在多边形内

我在带有一些latLng的谷歌地图上设置了一个典型的多边形:varbermudaTriangle=newgoogle.maps.Polygon({paths:[newgoogle.maps.LatLng(25.774252,-80.190262),newgoogle.maps.LatLng(18.466465,-66.118292),newgoogle.maps.LatLng(32.321384,-64.75737),]});bermudaTriangle.setMap(map);这些是谷歌文档中的百慕大三Angular坐标。我也有一些随机坐标,saaay:varcoord1=newn

javascript - 在谷歌地图中添加新标记之前删除以前的标记

我有以下代码在我点击map的地方显示标记。它工作完美,问题是我想在添加新标记时删除以前的map标记。我应该在哪里进行更改才能完美运行。google.maps.event.addListener(map,"click",function(e){latLng=e.latLng;console.log(e.latLng.lat());console.log(e.latLng.lng());image=clientURL+"/common/images/markers/red.png";console.log("Marker");marker=newgoogle.maps.Marker({po

javascript - 更改 Google Maps JavaScript API v3 圈外的 map 不透明度

所以我目前在map上画了一个圆圈:varoptionsCercle={center:latlang,map:map,radius:1000,fillOpacity:0.1,strokeWeight:0};this.circ=newgoogle.maps.Circle(optionsCercle);现在我将圆圈内部设置为fillOpacity:0.1,但我想做的是将map上除圆圈内部之外的所有内容设置为fillOpacity:0.1。我希望我的视口(viewport)中除了圆圈之外的所有东西都被“模糊掉”。我怎样才能做到这一点? 最佳答案

javascript - 获取多边形的边界框

我有许多复杂的多边形,有些有750多个点。有没有一种快速有效的方法来获取边界框?我不想遍历每个点并扩展边界框..解决方案应该在javascript或者可能有一个我错过的GoogleMapsAPIv3函数。或者我应该硬编码边界框的坐标并使用它们来减少客户端的负载吗?如何制作多边形://Coordinatesvarcoordinates=[newgoogle.maps.LatLng(11,22),newgoogle.maps.LatLng(11,22),newgoogle.maps.LatLng(11,22),//etcupto200,500oreven800points]//Option

javascript - Google Map jQuery - 从鼠标点击获取 LatLng

我目前正在通过theirjQueryclient使用GoogleMapsv3API.我试图通过在map上单击鼠标来获取纬度和经度,将它们连接到一个字符串并将该字符串添加到页面上的输入字段中。作为jQuery的新手,我完全迷路了。谁能指出我正确的方向?我在我的页面上初始化Googlemap的代码如下:$(document).ready(function(){varyourStartLatLng=newgoogle.maps.LatLng(53.307697,-6.222317);$('#map-canvas').gmap({'center':yourStartLatLng,zoom:15

javascript - Google places api 返回重复的地方

我正在LatLngBounds数组中按关键字搜索地点。varboundsarr=newArray();boundsarr[0]=newgoogle.maps.LatLngBounds(newgoogle.maps.LatLng(25.941886953491675,-80.17411103748543),newgoogle.maps.LatLng(25.947676224813897,-80.16767330177947));boundsarr[1]=newgoogle.maps.LatLngBounds(newgoogle.maps.LatLng(25.941886953491675

javascript - 传单未捕获错误 : Invalid LatLng object: (NaN, NaN)

我正在尝试使用传单动态加载map标记,但出现此错误:UncaughtError:InvalidLatLngobject:(NaN,NaN)我正在使用这个javascript加载我的标记:varlat;varlng;for(i=0;i我正在阅读的json是这样的:[{"brewery":"21stAmendmentBrewery","lat":"37.7824175","lng":"-122.3925921","breweryID":"EdRcIs"},{"brewery":"AbitaBrewingCompany","lat":"30.482408","lng":"-90.056605