前提・実現したいこと
エラー内容の意味は理解しているつもりでいるのですが
コードを再確認しても解決方法が全く分かりません。
エラーメッセージはMonacaデバッカー上でのものです。
ソースコードを確認いただいて
解決方法を教えていただけると嬉しいです。
発生している問題・エラーメッセージ
ReferenceError: Can't find variable: myModal
該当のソースコード
<!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: gap: https://ssl.gstatic.com; 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 src="http://maps.googleapis.com/maps/api/js?key="></script> <script> var map; ons.ready(function(){ myModal.show(); //高精度の位置情報を要求する(衛星による測位) var options = {maximumAge: 3000, timeout: 5000, enableHighAccuracy: true}; navigator.geolocation.getCurrentPosition(function(position){ createMap(position); }, function(result){ myModal.hide(); onError(result); }, options); $(document).on('click','.put-marker',function(){ putMarker(); }); }); function createMap(position){/*createMap()関数の記述*/}; function putMarker(){/*putMarker()関数の記述*/}; function pnError(positionError){/*onError()関数の記述*/}; function createMap(position) { var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); //地図のズーム値、センター位置、タイプを指定 var mapOption = { zoom: 14, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; //地図を作成 map = new google.maps.Map($('#map')[0],mapOption); google.maps.event.addListener(map, "tilesloaded",function(){ myModal.hide(); }) }; function onError(positionError){ var code = positionError.code; switch(code){ case 1: errorMessage = '位置情報の取得がユーザーによって許可されていません。'; break; case 2: errorMessage = '位置情報の取得が行えません。'; break; case 3: errorMessage = '時間切れです。位置情報が利用できない可能性があります。'; break; default: errorMessage = 'エラーが発生しました。' +code; } ons.notification.alert({ message: errorMessage }); }; function putMarker(){ if(map){ var options = {maximumAge: 3000, timeout: 5000, enableHighAccuracy:true}; navigator.geolocation.getCurrentPosition(function(position){ var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); var marker = new google.maps.Marker({position: latlng, map: map}); },onError,options); } }; </script> <body> <br/> <ons-modal var="myModal"> 位置情報を取得中… </ons-modal> <ons-page> <ons-toolbar> <div class="center">現在位置アプリ</div> </ons-toolbar> <div id="map"></div> <ons-bottom-toolbar style="text-align: right;"> <ons-toolbar-button class="put-marker"><ons-icon icon="fa-map-marker"size="20px"></ons-icon>現在地をマークする</ons-toolbar-button> </ons-bottom-toolbar> </ons-page> </body> </head> </html>
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー