2

私はジオロケーションベースのゲームを開発しています。マーカー付きのマップは、そのコアコンポーネントの1つです。使用しています

  • Phonegap 2.2
  • この問題はAndroid4.2.xでのみ発生します(Nexus 4、7、10でテスト済み)
  • GoogleMaps Api V3
  • PhonegapBuildで構築しています
  • MarkerImagesは、拡大縮小された画像で使用されます(以下のコードを参照)

残念ながら、地図上にマーカーを正しく表示するのに問題があります。タイルの周りに小さな境界線があり、この境界線でマーカーがカットされているようです。この問題は常に発生するとは限りません。

マップを拡大すると、マーカーが正しく表示されます。

以下のコードは、マーカーを追加してマップを定義する方法を示しています。

map = new google.maps.Map(document.getElementById('map'), {
            zoom : 14,
            mapTypeControl : false,
            center : new google.maps.LatLng(lastPos.lat, lastPos.lon),
            mapTypeId : google.maps.MapTypeId.ROADMAP,
            streetViewControl : false,
            styles : [..]
        });

[some time later, after making sure map is initialized, is displayed and so on...]

var markerimage = {
    url : image,
    size : new google.maps.Size(60, 106),
    origin : new google.maps.Point(0, 0),
    anchor : new google.maps.Point(15, 53),
    scaledSize : new google.maps.Size(30, 53)
};
var marker = new google.maps.Marker({
    position : new google.maps.LatLng(spot.position.latitude, spot.position.longitude),
    icon : markerimage,
    optimized : true,
    clickable : true,
    draggable : false,
    map : map,
    zIndex: 2
});

誰かがこの問題について何か知っていますか、それを修正する方法を知っていますか?

ありがとう!

編集:

私はいくつかのことを試しました。アプリですべてのCSSを無効にし、不要なJavascriptをすべて無効にし、マーカーとマップからカスタムスタイルを削除しました。しかし、バグはまだ発生しています。マップサイズが固定の幅と高さ(ピクセル単位)に設定されるようになりました。私はこのバグに本当に夢中になっています!マーカーが複製され、引き伸ばされて切り取られます...!下に新しいスクリーンショットを添付しました。

新しいスクリーンショット

タイルとカットマーカーの間に境界線があるマップ

4

1 に答える 1

0

これは再現が難しいためデバッグが困難ですが、答えとして試してみるヒントをいくつか提供しようと思います。

  • 画像 (png、gif) を含むマーカーが回転optimized: falseします。これで問題が解決しない場合は、markerImages を削除して何が起こるかを確認してください。まだバグ?

  • マップからカスタム スタイルを削除します (カスタム スタイルとマーカー画像を使用しない、カスタム スタイルを使用せずにマーカー画像を使用するなど)。

  • tilesloaded、bounds_changed などのイベントをリッスンし、デバッグ プリントを使用してそれらが発生したかどうかを確認してください。彼らがそうするとき:その後、マーカーを初期化してみてください-最初はまっすぐ-次に小さなタイムアウトで

  • 画像のスケーリングや特別なアンカー設定などを削除して、できるだけ最小限に抑えるようにしてください

  • たとえば、markerImage を DOM にアタッチして、markerImage がロードされていることを確認します。(これは、Web 画像を使用する場合の通常の適切な方法です。phonegap に何か違いがあるかどうかはわかりません)。

何も解決しない場合は、gooooogle から質問してください :)

于 2013-03-13T17:11:40.377 に答える