0

地図上にマーカーを設定して、GoogleMapsAPIをテストしています。マップがクリックされると、JSONリクエストがphpに送信され、緯度と経度がmysqlデータベースに保存され、GoogleマップAPIを使用してjavascript関数でマーカーが追加されます。これは非常に簡単です。問題は、ChromeとFirefoxで動作していることですが、OperaMiniブラウザを搭載した携帯電話では動作していません。Android2.3.4です。

携帯電話に付属のナビゲーターは、マーカーの表示に問題はありません。

コード:(2つの機能)

function agregoCoordenadasEnBaseDeDatos(punto)
{
    //  alert(JSON.encode(punto));
    punto['a']=punto['$a'];
    new Request({'url':'insertarMarcador.php?puntoCorchs=' + JSON.encode(punto), 
                                 'method':'get', 
                                 'onSuccess':function(o){agregarPunto(punto);},
                                 'onFailure':function(o){alert("Pelate!!!  "+o)}}).send();
}
     function agregarPunto(punto)
     {

        var marker = new google.maps.Marker({position: punto, 
                                                        map: first_map, 
                                                    title:'Hola Mundo!!!', 
                                                    icon:'IMAGEFILEURLDELETED.GIF', optimized: false});
    google.maps.event.addListener(marker, 'click', function() {
    first_map.setZoom(8);
    first_map.setCenter(marker.getPosition());    
        });         
}

既知の問題ですか?

どのブラウザが自分のサイトにアクセスしているかに関して、ifステートメントを使用する必要がありますか?

4

1 に答える 1

3

Opera Miniは、Operaサーバーでプリコンパイルされた「インテリジェント」イメージ(OBML)を受信するシンクライアントです。アドレスを入力すると、電話機のシンクライアントがそのアドレスをOperaサーバーに送信し、Operaサーバーが実際のHTTP要求を離れたサーバーに送信します。次に、Operaサーバーは応答を受信し、イメージを作成してシンクライアントに送り返します。したがって、それ自体、シンクライアントに到達するcss、html、jsはありません。OBML画像だけです。したがって、クライアント側でアクションをトリガーする場合、サーバーを往復する必要がなければ効果的ではありません。XMLHttpRequestイベントの具体的なサポートについては、OperaMiniのガイドラインを参照してください。これは、帯域幅の節約(80%)とデバイスでのライブインタラクションの間のトレードオフです。とはいえ、Operaは段階的に改善しようとしています。

また、OperaMiniとは別の製品であるOperaMobile 12を試してみましたか?

于 2012-07-13T17:25:18.910 に答える