我从两点之间的Google方向获取概述折线,然后将其传递为" enc:"参数到静态地图。
渲染图像后,折线遵循道路的实际形状,但它会移动数百米或者一公里。
标记设置为传递给方向API的相同坐标,但标记正确显示。
我还尝试将静态地图geodesic参数设置为" true"但有同样的问题。
请参阅:
或
我通过电子邮件发送最终的静态地图网址。
答案 0 :(得分:0)
我只是想通了。
问题:
从Google方向获取“overview_polyline”JSON响应包含许多在URL通过邮件服务器时被转义错误的特殊字符。
我将静态地图网址与PHP中的“overview_path”连接起来,所以为了确保所有字符都被很好地转义,我使用了 rawurlencode 函数({{3} }):
$revert = array('%21'=>'!', '%2A'=>'*', '%27'=>"'", '%28'=>'(', '%29'=>')');
$wellEscapedString = strtr( rawurlencode($original_string), $revert );
现在这条线路完美匹配了道路。