問題タブ [mkpolyline]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - MKPolyLineRenderer オーバーレイを削除せずに色を変更
Apple マップ アプリケーションの動作をほぼ再現するアプリケーションを開発しています。ルートに触れると、その色を青に変更し、他の色を灰色に変更する必要があります。オーバーレイを削除して再度追加することなく、これを達成する効率的な方法はありますか? ありがとう。
ios - IOS には、マップ上に線 (ルート) を描画できるクラスが含まれていますか?
座標のMKMapView
リスト (約 50.000 ポイント) があります。
そして今MKPolyLine
のところ、地図上でその描画ルートを使用しています。
基本的に、すべての座標をループして、最後のポイントと次のポイントの間に線を引きます。
しかし、座標の配列を渡したり、マップにルートを自動的にロードしたりするように使用できるIOSのクラスがあるのではないかと思っています。
ios - Swift で MKPolylineView を使用する方法
Swift アプリでポリラインを描画したい。
スウィフトコード
エラー:
これに対する解決策が見つかりません。
ios - MkPolyLineRender の lineWidth プロパティを設定して、線が x メートルの幅で描画されるようにしますか?
MkMapView に線を描画していますが、その幅をメートル単位で指定したいと考えています。
私はこのようなことを試しました:
これにより、myMetersValue よりもはるかに広い線が生成され、ズームインおよびズームアウトしてもスケーリングされません。
ppmは約で一定のままです。地図を拡大縮小しても9.49。myLatitude が有効な緯度 (約 45 度) であることを確認しました。myMetersValue が妥当な # (約 18m) であることを確認しました。
(編集)
MKMapPointsPerMeterAtLatitude によって返される MapPoints がスクリーン ポイントではないことを発見したため、その関数を使用できません。
したがって、私の基本的な問題は、mkMapView でメーターをスクリーン ポイントに変換する方法です。もっと簡潔に言うと、コードで ppm の値を取得するにはどうすればよいですか? 私はこれを試しました(SOの他の場所にあります):
それはうまくいきませんでした。
それから私はこれを試しました:
ここでの考え方は、500 スクリーン ポイント離れた 2 つのポイントの緯度/経度を取得することです。次に、それらの間の距離をメートル単位で取得して、ppm を計算できるようにします。この種の動作はしましたが、結果の ppm が正しくないように見えるので、これが正しいとは確信できません。また、マップをズームすると、マップ上の既存の線が再レンダリングされないため、ズーム後も同じ幅のままになります (ただし、これは別の問題です)。
(編集)
私のppmの計算は正しいようです。問題は、ユーザーがズームを終了する前にレンダラーが呼び出されるため、線が最終的なズーム スケールでレンダリングされないことです。最終的なズームスケールが決定されたら再レンダリングを強制すると、ppm が正しくなり、コードが機能します。
ios - ランダム座標からの Mapkit オーバーレイ開始座標
私のアプリでは、didUpdateUserLocation:
デリゲート メソッドから取得したユーザーの場所から始まるポイントを使用して、マップ上にポリライン オーバーレイを描画しています。
でもなぜかいつもアフリカから始まる。
その理由は何ですか?ポリラインの開始座標を指定する必要はありますか?
swift - Obj-C の適切なサイズの C 配列の代わりとしての迅速な UnsafeMutablePointer
C サイズの配列を使用していた関数を迅速に操作するにはどうすればよいですか?
Interacting with C APISを読みましたが、まだこれを理解できません。
状態の coords パラメーターのドキュメントfunc getCoordinates(_ coords:UnsafeMutablePointer<CLLocationCoordinate2D>,range range: NSRange)
:
私はいくつかのことを試しましたが、最近では:
次のようなものを使用する必要がありますか?
ここで髪を引っ張ります... 何か考えはありますか?
ios - 最近の CLLocations だけで MKPolyline を作成する
私のアプリは、ユーザーの過去のポリラインを読み込み、地図上に表示します。次に、アプリが追跡を開始し、最後に更新された座標から最初の座標まで直線が引かれ、2 つの別々の線が別々であるべきときに接続されます (ここに示されています)。
この直線を削除したいので、最も簡単な方法は、設定された時間枠 (たとえば 1 分) の外にある座標を破棄して、マップ上のポリラインを分離したままにすることだと考えています。これを行う方法がわかりません...私は初心者なので、どんな提案でも大歓迎です!
過去のポリラインを読み込むときにこのコードを使用します
そして、このコードは、通常、クロケートを更新してポリラインを作成するだけです
ios - MKPolyline 座標を更新する方法はありますか?
MKPolyline
新しいオーバーレイを削除してmapViewに追加するよりも、座標を更新するためのより良い方法はありますか?