编辑:当Google map.panTo(Lat,液化天然气)决定行程太远(像素)时,我正试图找出一个“平滑的”平底锅。
这就是手册所要说的:-
将映射的中心更改为给定的LatLng。如果更改小于地图的宽度和高度,则转换将顺利进行。
我已经确定,如果只有x或y顶点运动(只有Lat或Lng值变化,但两者都不变化),则检查是地图视图宽度或高度的三分之二.6666。但是,如果Lat和Lng值都有变化,那么我就不确定公式了。
我们知道的一个例子是:-
如果我们从珀斯到耶普隆附近的某个地方:-
珀斯: Lat:-31.9523 Lng: 115.8613 xPixel: 13465 yPixel: 9728 Yeppoon: Lat:-22.9523 Lng: 150.2093 Lng 15028 yPixel: 9265
X/垂直移动: 15028 - 13465 = 1563 Y/水平移动:9265-9728= -463
然后,在同一次旅行中,以下视口大小会产生平滑的平底盘;1像素的宽度或高度可以减少硬平底锅的压力:-
视口
宽: 1337 1435 1236高: 492 448 574
视盘边框的公式是什么?
这应该是显而易见的,但我就是看不见
我唯一掌握的其他信息是:-
Google标题大小为零缩放= 256我正在使用的缩放是6=乘数64
X像素公式= 256 * (0.5 +经度/ 360) * 64
设siny =Math.sin((纬度* Math.PI) / 180);//截断到0.9999有效地将纬度限制在89.189。这是//超过世界瓷砖边缘的三分之一的瓷砖。Math.min(Math.max( siny,-0.9999),0.9999);
Y像素公式= 256 * (0.5 - Math.log((1 + siny) /(1-Siny))/ (4 * Math.PI))
有什么道理吗?
埃迪特
如果https://richardmaher.github.io/Brotkrumen/testmap.html使生活更简单,请复制它(由于API键必须在本地运行)
有关调试信息,请参见控制台。
缩小浏览器到宽度615 to,您将平滑滚动/摇摄停止。
准备回答任何其他问题
另见https://issuetracker.google.com/issues/228349799
请有人用伪码,或至少较少含糊的语言,解释panTo()方法的平稳过渡要求的API参考手册定义:-
panTo panTo(latLng)参数: latLng: LatLng_(L_(LatLng)。返回值:没有将映射的中心更改为给定的LatLng。如果更改小于地图的宽度和高度,则转换将顺利进行。。
具体来说,在这种情况下,“变化”是什么?
例子:-
Zoom Level = 6
LatLng1 = lat: -31.9523, lng: 115.8613 Pixel X = 13464 Pixel Y = 9728
LatLng2 = lat: -33.8688, lng: 151.2093 Pixel X = 15073 Pixel Y = 9831
Current Map Center is LatLng1 and panning to LatLng2
I make the "change" to be horizontal 1609px and vertical 103px
如果地图的DIV容器至少有616 it宽,344 it高,则平底锅如果不是跳跃的话是平滑的。
有人能帮我试探性地把那些数字和古猿结合起来吗?
发布于 2022-04-10 10:27:17
panTo()
更改地图的中点,如果中点的坐标在视图中发生变化,则转换将顺利进行。
视图端口包含用于显示返回结果的推荐视图端口,指定为两个纬度、经度值,定义视图端口边界框的西南角和东北角。通常,当将结果显示给用户时,视口被用来对结果进行帧化。
https://stackoverflow.com/questions/71716078
复制相似问题