標準のマップ アプリケーションの動作の一部を部分的に模倣するアプリを作成したいと考えています。これは困難であることが証明されています。まず、注釈を移動可能にする方法がわかりません。これをどのように正確に行うのですか?
2 つ目: どのように場所を検索しますか?
標準のマップ アプリケーションの動作の一部を部分的に模倣するアプリを作成したいと考えています。これは困難であることが証明されています。まず、注釈を移動可能にする方法がわかりません。これをどのように正確に行うのですか?
2 つ目: どのように場所を検索しますか?
注釈の移動
ピンをタップしたままにして自由に移動するという Maps.app の動作を求めていると思います。私の知る限り、注釈を移動する組み込みの方法はありません。注釈はがのサブクラスであるためUIView
、好きな場所に好きな方法で描画できます。たとえば、注釈のタップアンドホールドを検出し、「ロックが解除された」ときにcenterOffset
注釈の値を変更して、タッチで移動することができます。ユーザーがビューから手を離したときに、画面上の位置を記録し、MKMapView
メソッドconvertPoint:toCoordinateFromView:
を使用してピンが離された座標を取得できます。
場所を検索
あなたが探しているのは、Forward Geocoding と呼ばれるものです。残念ながら、MapKit にはリバース ジオコーディング (GPS 座標を国/都市/通りなどに変換するプロセス) しかありません。ただし、いくつかの代替手段があります。以下にいくつかの方法を示します。
多くのジオコーディング API は、Creative Commons または同様のライセンスの下でライセンスされていることに注意してください。
このブログ投稿の助けを借りて、ドラッグ アンド ドロップの注釈を取得できるはずです。私はそれを使って同じことをしましたが、それは非常に簡単でした。