ポリゴンの線やエッジを滑らかにすることはできますか?それは現在非常にシャープで角度があり、それらの角度が実際に曲率を持っていれば素晴らしいでしょう。何か案は?Google Maps API V3 - ポリゴンスムージドエッジ
2
A
答えて
0
ポリゴンにポイントを追加します。プロットされるポイントが多いほど、カーブはより緩やかになります。ここで
+0
しかし、追加した各ポイントを新しい場所に手動でドラッグする必要があります。いくつかのアルゴリズムを使う方がいいです(Maps APIに組み込まれていればうれしいでしょう)。 – Fraggle
0
が、私はこれを必要としていhttps://johan.karlsteen.com/2011/07/30/improving-google-maps-polygons-with-b-splines/
public List<LatLng> bspline(List<LatLng> poly) {
if (poly.get(0).latitude != poly.get(poly.size()-1).latitude || poly.get(0).longitude != poly.get(poly.size()-1).longitude){
poly.add(new LatLng(poly.get(0).latitude,poly.get(0).longitude));
}
else{
poly.remove(poly.size()-1);
}
poly.add(0,new LatLng(poly.get(poly.size()-1).latitude,poly.get(poly.size()-1).longitude));
poly.add(new LatLng(poly.get(1).latitude,poly.get(1).longitude));
Double[] lats = new Double[poly.size()];
Double[] lons = new Double[poly.size()];
for (int i=0;i<poly.size();i++){
lats[i] = poly.get(i).latitude;
lons[i] = poly.get(i).longitude;
}
double ax, ay, bx, by, cx, cy, dx, dy, lat, lon;
float t;
int i;
List<LatLng> points = new ArrayList<>();
// For every point
for (i = 2; i < lats.length - 2; i++) {
for (t = 0; t < 1; t += 0.2) {
ax = (-lats[i - 2] + 3 * lats[i - 1] - 3 * lats[i] + lats[i + 1])/6;
ay = (-lons[i - 2] + 3 * lons[i - 1] - 3 * lons[i] + lons[i + 1])/6;
bx = (lats[i - 2] - 2 * lats[i - 1] + lats[i])/2;
by = (lons[i - 2] - 2 * lons[i - 1] + lons[i])/2;
cx = (-lats[i - 2] + lats[i])/2;
cy = (-lons[i - 2] + lons[i])/2;
dx = (lats[i - 2] + 4 * lats[i - 1] + lats[i])/6;
dy = (lons[i - 2] + 4 * lons[i - 1] + lons[i])/6;
lat = ax * Math.pow(t + 0.1, 3) + bx * Math.pow(t + 0.1, 2) + cx * (t + 0.1) + dx;
lon = ay * Math.pow(t + 0.1, 3) + by * Math.pow(t + 0.1, 2) + cy * (t + 0.1) + dy;
points.add(new LatLng(lat, lon));
}
}
return points;
}
関連する問題
- 1. Maps APIをV3:Google MapsのAPI V3で
- 2. Google Maps API v3オーバーレイ
- 3. GWT + Google Maps API v3
- 4. Google Maps JavaScript API v3
- 5. Google Maps API V3グレーエリア
- 6. Google Maps API V3プロットアドレス
- 7. Google Maps API V3 infowindow
- 8. google maps api v3 - マップデータホワイトブロックマップ
- 9. Google Maps API v3のチュートリアル
- 10. Google Maps API v3マーカー座標
- 11. Google MapsのAPI V3 TrafficLayerウィジェット
- 12. Google Maps API v3:図面マネージャ
- 13. PHPはGoogle Maps API V3内
- 14. MVC 4とGoogle Maps API v3
- 15. google maps api v3 expandボタン
- 16. Google Maps API v3 JS map.fitbounds
- 17. Google Maps API v3(PHPとJavascript)
- 18. どのV3 Google MapsのAPI
- 19. Google Maps API V3のエラー
- 20. は、infowindow google maps api(v3)
- 21. Google Maps Api V3 - StreetView enableCloseButton
- 22. Google Maps API v3ストリートビュー "google is not defined"
- 23. Google Maps v3のスターサーチアルゴリズム
- 24. google maps v3 around
- 25. Google Maps API V3のマーカーをプロットする
- 26. Google Maps APIのV3:オーバーレイイメージマップのローディングインジケーター
- 27. Google Maps API V3検索KMLファイル
- 28. jQuery MobileとGoogle Maps API v3のメモリリーク
- 29. REQUEST_DENIED Google Maps API v3場所エラー
- 30. Google Maps V3 API利用規約
に触発されたAndroid上で私のために働いたBスプラインに基づいて平滑化アルゴリズムでもそう、あなたがそれを行うための良い方法を見つけた場合は私に知らせてください。私はあなたが表示することができますポイントの新しいセット(最も可能性が高いオリジナル)を生成する曲線平滑化/フィッティングアルゴリズムにポイントの配列(マッピングされたポリゴンの頂点)を渡す必要があると仮定します地図。 – Fraggle