在尝试将多边形添加到mapbox api上的静态地图时,我一直遇到message: "Invalid GeoJSON"
错误。
在以下地图上:
我的LineString示例用于勾勒出我想要绘制的多边形的边框:
geojson({"type":"Feature","properties":{},"geometry":{"type":"LineString","coordinates":[[-120.8492,39.4916],[-120.8474,39.4896],[-120.8510,39.4864],[-120.8492,39.4916]]}})
如果尝试使用以下geojson对象将其转换为多边形:
geojson({"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[-120.8492,39.4916],[-120.8474,39.4896],[-120.8510,39.4864],[-120.8492,39.4916]]}})
它爆炸了:
有人能看出我做错了什么吗?我在查找使用静态api绘制多边形的任何示例时遇到问题,但static api doc表示这是可能的。
感谢。
答案 0 :(得分:2)
您的geojson
字符串无效。你错过了坐标周围的两个方括号。这是一个有效的公式。
geojson({
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [[[-120.8492, 39.4916], [-120.8474, 39.4896], [-120.8510, 39.4864], [-120.8492, 39.4916]]]
}
})
如果要使用多边形生成静态地图,则相应的API调用将类似于
上试用
答案 1 :(得分:1)
我无法弄清楚如何使用geojson做到这一点,但意识到我可以使用polylines和fill属性来做到这一点。
我在Android polyutil class的谷歌地图的帮助下计算了我的折线。