この記事はアーカイブ済みで、これ以上更新されることはありません。

iAd Producer 3:MapView の領域に正しい中心点が設定されない場合がある

マップで表示領域を設定しようとした際に、正しい中心点が設定されないことがあります。

この症状が現れるかどうかは、次の両者の兼ね合いによります。

  • 使用中の MapView のサイズ (幅と高さのピクセル数)

  • リクエストされた表示領域

この問題が発生した場合、リクエストされた表示領域の longitudeDelta が、使用中のマップで表示可能なサイズよりも大きくなっています。longitudeDelta の最大値は、地域のどの部分が対象の領域に含まれているかによって変わります。

この問題が発生した場合、特定のコンテンツについては対処可能ですが、使用中のマップのサイズに合わせた対処が必要です。対処に際して、コンテンツの具体的な最大値を確認するには、いくつかの方法があります。

  • コンテンツの見た目にこの問題が影響している場合は、MapView の「mapViewRegionDidChange」通知を監視し、結果として表示される領域を調べます。マップの領域の longitudeDelta 値は、このときの表示を基準として自動的に制限されます。この値を、その後の領域変更時の上限 (最大値) として使用します。

  • コンテンツの作成時に、JavaScript と Remote Web Inspector で MapView を手動で調べます。そのためには、MapView で表示領域を手動で変更する必要があります (デバイス上で指を使うか、iOS シミュレータ上でピンチ/ズームの修飾キーを使います)。表示領域を最大限までズームアウトし (ほとんどの地域が表示される状態)、北極または南極の境界までパンします。これで、MapView の領域プロパティの longitudeDelta 値は、マップのピクセルサイズの上限に設定されます。この値を、その後の領域変更時の上限 (最大値) として使用します。

公開日: