前提・実現したいこと
アプリ開発歴11日目の者です。
現在、OnsenUIで地図アプリを作成しております。
openlayers3を使用して地図をページ上に表示させたいと考えております。
発生している問題・エラーメッセージ
![イメージ説明](e072a11711ab3029a2ef4e0dcb391c27.png) ページに地図が表示されません。 自力では解決できないと思い、今回投稿させていただきました。
該当のソースコード
<!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> <script src="lib/onsenui/js/onsenui.min.js"></script> <script src="js/main.js"></script> <link rel="stylesheet" href="components/loader.css"> <link rel="stylesheet" href="lib/onsenui/css/onsenui.css"> <link rel="stylesheet" href="lib/onsenui/css/onsen-css-components.css"> <link rel="stylesheet" href="css/style.css"> <!-- OpenLayers --> <link rel="stylesheet" href="https://openlayers.org/en/v4.6.5/css/ol.css" type="text/css"> <!-- The line below is only needed for old environments like Internet Explorer and Android 4.x --> <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script> <script src="https://openlayers.org/en/v4.6.5/build/ol.js"></script> </head> <body> <ons-navigator id="navigator" page="tab1.html"> </ons-navigator> <ons-template id="tab1.html"> <ons-page id="first-page"> <ons-toolbar> <div class="center">Home</div> </ons-toolbar> <div class="content" style="text-align: center"> <p>Smile is...</p> <ons-button id="push-button1">Search</ons-button> <ons-button id="push-button2">Send</ons-button> </div> </ons-page> </ons-template> <ons-template id="tab2.html"> <ons-page id="second-page"> <ons-toolbar> <div class="center">Search</div> <div class="left"> <ons-back-button id="pop-button1">Home</ons-back-button> </div> </ons-toolbar> <ons-tabbar position="auto"> <ons-tab label="Gourmet" icon="fa-coffee" page="gourmet.html" active> </ons-tab> <ons-tab label="Spot" icon="fa-map-marker" page="spot.html"> </ons-tab> <ons-tab label="Activity" icon="fa-info-circle" page="activity.html"> </ons-tab> <ons-tab label="Event" icon="fa-calendar" page="event.html"> </ons-tab> </ons-tabbar> </ons-page> </ons-template> <ons-template id="gourmet.html"> <ons-page id="gourmet-page"> <!-- ここに地図表示 --> <div id="map" class="map"></div> <script> var map = new ol.Map( { layers: [ new ol.layer.Tile( { source: new ol.source.OSM() }) ], target: "map", controls: ol.control.defaults( { attributionOptions: { collapsible: false } }), view: new ol.View( { center: [0, 0], zoom: 2 }) }); </script> </ons-page> </ons-template> </body> </html>
試したこと
まず、
【最下層】地図
【その上】htmlのページ
があるような感じがあったので、z-indexを試してみましたが、変化なしでした。
<div id="map">の位置を変えてみたり、<head>のopenlayersの宣言の位置を 変えてみたりしてみましたが、こちらも変化はありませんでした。 ご協力の程、何卒よろしくお願い申し上げます。補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー