mapsplugin / cordova-plugin-googlemaps

Google Maps plugin for Cordova
Apache License 2.0
1.66k stars 918 forks source link

Monacaデバッガーにてデバッガーメニューボタンが押せなくなる #1710

Closed yesman99 closed 7 years ago

yesman99 commented 7 years ago

I'm submitting a ... (check one with "x") [ ] question [x] any problem or bug report [ ] feature request

The plugin version: (check one with "x") [ ] 1.4.x [x] 2.0.0-beta3-20170905-1257

If you choose 'problem or bug report', please select OS: (check one with "x") [ ] Android [x] iOS

お世話になっております。 最新バージョン(2.0.0-beta3-20170905-1257)にてMonacaカスタムデバッガーをビルドしたところ、 添付スクリーンショット右下の"Monacaデバッガーメニューボタン"をタップしても反応しなくなりました。 以前用意いただいた、こちらのサンプルプロジェクト↓でも同様の現象が確認できています。 hello-googlemaps-for-monaca.zip

お手数をおかけしますが、よろしくお願いいたします。

Screen capture or video record:

wf9a5m75 commented 7 years ago

なんと!

wf9a5m75 commented 7 years ago

このDebugボタンはHTML要素ではないですね。以前は押せましたか? Androidでは押せていた記憶はありますが、iOSでは押した記憶が無いので定かではないです

yesman99 commented 7 years ago

以前は押せました。 19日前の8/18 17:18にデバッガーアプリを最後にビルドしているのですが、それは正常に動いていました。

wf9a5m75 commented 7 years ago

具体的なプラグインのバージョンまでは分からないですよね

yesman99 commented 7 years ago

そうですね。。Monacaですといろいろとチェックしましたが確認できませんでした。 今Androidでも確認したところ、タップはできるのですが、何故か"重なり"が一番前では無くなっていました。 ※この"現在地ボタン"は自作です。

wf9a5m75 commented 7 years ago

うーん、予想ですが、Monacaのデバッガが変わった可能性が高いですね。

wf9a5m75 commented 7 years ago

確認をさせていただきたいのですが、現在使用しているCordova CLIのバージョンは6.2.0ですか?それとも6.5.0ですか?

wf9a5m75 commented 7 years ago

Cordova CLI 6.2.0モードでビルドすると、ちゃんとデバッグボタンがHTMLの上に表示されます。

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <meta http-equiv="Content-Security-Policy" content="default-src * data:; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'">
    <script src="components/loader.js"></script>
    <link rel="stylesheet" href="components/loader.css">
    <link rel="stylesheet" href="css/style.css">
<script type="text/javascript">
var map;
document.addEventListener("deviceready", function() {
  var div = document.getElementById("map_canvas");

  // Initialize the map view
  map = plugin.google.maps.Map.getMap(div);

  // Wait until the map is ready status.
  map.addEventListener(plugin.google.maps.event.MAP_READY, onMapReady);
}, false);

function onMapReady() {
  alert("map is initialized!");
}

</script>
<style type="text/css">
    html,body,#map_canvas {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
    }
    #testBtn {
        position: absolute;
        right: 50px;
        bottom: 50px;
        width: 50px;
        height: 50px;
        border: 1px solid red;
        background-color: red;
    }
</style>
</head>
<body>
    <div id="map_canvas">
        <div id="testBtn"></div>   
    </div>
</body>
</html>
yesman99 commented 7 years ago

6.2.0と、6.5.0で確認しております。 2.0.0-beta3-20170905-1257より以前のバージョンを入手することは可能でしょうか?

wf9a5m75 commented 7 years ago

ここから自分が使いたいgitコミットを探します。 https://github.com/mapsplugin/cordova-plugin-googlemaps/commits/multiple_maps

例えば19日前ならこのコミットになります。 https://github.com/mapsplugin/cordova-plugin-googlemaps/tree/cb30d1901d512362a576d70e4f96d807d02e3269

MonacaでプラグインのURLを指定する際に https://github.com/mapsplugin/cordova-plugin-googlemaps#cb30d1901d512362a576d70e4f96d807d02e3269 とコミットIDを指定すれば可能です

wf9a5m75 commented 7 years ago

先程のコードをCordova CLI 6.5.0でビルドすると、デバッグボタンが表示されませんね。 capture

wf9a5m75 commented 7 years ago

iOSはOSにiOS11をインストールしてあるので、Cordova CLI 6.2.0でテストできないですが、Cordova CLI 6.5.0でビルドすると確かにデバッグボタンは押せません。

yesman99 commented 7 years ago

先程ご教授いただいた、19日前のコミットでビルドしたところ、iOSにてボタンがタップ出来ることが確認できました。 https://github.com/mapsplugin/cordova-plugin-googlemaps/tree/cb30d1901d512362a576d70e4f96d807d02e3269

wf9a5m75 commented 7 years ago

私の方だと、デバッグメニューは見えるのですが地図が表示されないですね。 すみませんが、どのコミットで押せなくなるか探していただけますか。 アメリカはもう23時なので、そろそろ寝る時間なのです

wf9a5m75 commented 7 years ago

どのコミットで不具合が導入されたか特定ができれば、それを元に対応します。 かなり大変な作業になると思いますが、よろしくお願いします。

yesman99 commented 7 years ago

夜遅くまで対応いただきありがとうございました。 確認したところ、こちらのコミットからボタンが押せなくなっていました。 https://github.com/mapsplugin/cordova-plugin-googlemaps/commit/f4d29fb2c1d92bbc12bb3db65f92187a6191d9be

wf9a5m75 commented 7 years ago

ありがとうございます。あとで調べてみます

wf9a5m75 commented 7 years ago

たしかに、一つ前のコミットである https://github.com/mapsplugin/cordova-plugin-googlemaps/commit/b919aea30203644079f000afe40ec66699f5044c では、ちゃんとデバッグメニューが押せますね

wf9a5m75 commented 7 years ago

https://github.com/mapsplugin/cordova-plugin-googlemaps/commit/b919aea30203644079f000afe40ec66699f5044c はどう見てもAndroidのコードだったので、これではないだろうと、4bd31d3のグラフを調べると、

https://github.com/mapsplugin/cordova-plugin-googlemaps/commit/923f6282596f8ec8ac632076ee6c3add9648808c のコミットからタップできないですね。その一つ前のhttps://github.com/mapsplugin/cordova-plugin-googlemaps/commit/da2df4f56b41a3ca0e87b6919a242e8564786e46 まではタップできます。

それをもとに、JSを試してみたのですが、どうも効果がないですね。 そもそもデバッグボタンは、HTMLではないので影響はないはず。 でも確かに押せないんですよね。なぜか。 かなり苦戦しています。

そしてMonacaの試用期間が今日で切れるので、アシアルさんに試用期間の延長をお願いしているところです。

wf9a5m75 commented 7 years ago

現在、https://github.com/mapsplugin/cordova-plugin-googlemaps/commit/da2df4f56b41a3ca0e87b6919a242e8564786e46 のコミットとmasterを比較して変更点があるファイルを一つずつgitにコミットして、どのファイルでタップできなくなるかテストしてみました。 どうやらCordovaGoogleMaps.m が原因のようです。

wf9a5m75 commented 7 years ago

とりあえずiOSはタップできるようになりました。正直、なぜこのコードの修正で...って感じですが。 https://github.com/mapsplugin/cordova-plugin-googlemaps/commit/836a520682c8daa625eadc1cd2fdaf8521bd168f

screen shot 2017-09-07 at 12 02 07 am

wf9a5m75 commented 7 years ago

Androidは最初に「Permit drawing over other apps」を許可にしてあげたら、デバッグボタンがちゃんと押せますね。 issue1710

wf9a5m75 commented 7 years ago

multiple_mapsブランチのコードでビルドしてください。 (そして私はもう寝ます 1:08am now)

yesman99 commented 7 years ago

2日連続でご対応いただきありがとうございました。 感謝いたします。