使用path参数时谷歌地图静态图忽略visible参数问题求助
解决Google Maps静态API长Path下Visible参数失效的问题
当你的Path覆盖范围过大时,静态地图会自动调整视野以包含整个Path,这就导致visible参数被覆盖——毕竟visible只是要求指定点可见,但自动视野调整会优先保证整个Path都在图里,自然就偏离了你想要的局部区域。
要强制锁定目标视野,最直接的方法是同时设置center和zoom参数,把center设为你visible参数里的坐标,配合固定的zoom值:
- 在原URL中添加
center参数,值和visible的坐标一致:
¢er=51.47830481493033,5.625173621802276
- 保留原有的
zoom=18和visible参数,最终的URL结构会是:
https://maps.googleapis.com/maps/api/staticmap?size=800x800&path=color:0xFF0000|weight:5|51.4776968185448,5.626291338144096|51.47768435185294,5.626259777998479|51.47767587316431,5.62621742707575|51.47767616696035,5.626173172794012|51.47768166213279,5.626135616904493|51.47769481776226,5.626093120019203|51.47770838555007,5.626063740496027|51.47772960931298,5.626035214713571|51.47813228085557,5.625660497702032|51.47836547925107,5.625389068206552|51.47839566496447,5.625335704119583|51.47840605159768,5.62528891020402|51.47840875071124,5.625236677856932|51.47840130426647,5.625189773677352|51.47837691038719,5.625135404349972|51.47837766988398,5.625091386637178|51.47844327644785,5.625000660554411|51.47844862372733,5.624983329336011|51.47844895690882,5.624962620530461|51.47844298843397,5.624936833737659|51.47837947830693,5.624788502502285|51.47836283886782,5.624703317519137|51.47819159341522,5.622279144450316|51.47813714509799,5.621990234095655|51.47765889897804,5.620542339343761|51.47755378407587,5.620113115152192|51.47754040653214,5.620024981928573|51.47754867804638,5.619970188002037&zoom=18¢er=51.47830481493033,5.625173621802276&visible=51.47830481493033,5.625173621802276&key=XXX
这样设置后,地图会强制以center指定的点为中心,保持zoom=18的缩放级别,visible参数会确保该点始终在视野内(虽然center已经基本保证了这一点,但双重保险更稳妥)。而长Path会被自动裁剪到当前视野范围,不需要你手动截取坐标——哪怕路线多次穿过目标区域,视野内的路段都会正常显示。
内容的提问来源于stack exchange,提问作者Roel Jansen
相关产品推荐
相关产品推荐

