Помощ » Въпроси и отговори » Визуализиране на карти
Визуализиране на карти
-
Здравейте имам питане защо карти на Гугъл не се показват, като сложа кода и нищо. ако се покаже то нещата се размазват полетата, упътванията не работят, разместват се и нищо не се получава както трябва. като отворя хтмл файла през браузъра си е всичко наред. Искам да го сложа, като публикация и го правя като текстов редактор?
Някой да знае защо се получава така и как се оправя това нещо?
-
Можеш ли да copy-paste-неш кода тук, за да го погледнем и ние?
Също така провери дали текущият потребител има права да пише HTML в редактора. Ти си споменал че това се прави в текстов редактор, но за всеки случаи провери отново, защото Visual редактор няма да можеш да поставиш работещ HTMLПримерно този код.
<!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> <meta charset="utf-8"> <title>Displaying text directions with <code>setPanel()</code></title> <style> html, body { height: 100%; margin: 0; padding: 0; } #map { height: 100%; } #floating-panel { position: absolute; top: 10px; left: 25%; z-index: 5; background-color: #fff; padding: 5px; border: 1px solid #999; text-align: center; font-family: 'Roboto','sans-serif'; line-height: 30px; padding-left: 10px; } #right-panel { font-family: 'Roboto','sans-serif'; line-height: 30px; padding-left: 10px; } #right-panel select, #right-panel input { font-size: 15px; } #right-panel select { width: 100%; } #right-panel i { font-size: 12px; } #right-panel { height: 100%; float: right; width: 390px; overflow: auto; } #map { margin-right: 400px; } #floating-panel { background: #fff; padding: 5px; font-size: 14px; font-family: Arial; border: 1px solid #ccc; box-shadow: 0 2px 2px rgba(33, 33, 33, 0.4); display: none; } @media print { #map { height: 500px; margin: 0; } #right-panel { float: none; width: auto; } } </style> </head> <body> <div id="floating-panel"> <strong>Start:</strong> <select id="start"> <option value="chicago, il">Chicago</option> <option value="st louis, mo">St Louis</option> <option value="joplin, mo">Joplin, MO</option> <option value="oklahoma city, ok">Oklahoma City</option> <option value="amarillo, tx">Amarillo</option> <option value="gallup, nm">Gallup, NM</option> <option value="flagstaff, az">Flagstaff, AZ</option> <option value="winona, az">Winona</option> <option value="kingman, az">Kingman</option> <option value="barstow, ca">Barstow</option> <option value="san bernardino, ca">San Bernardino</option> <option value="los angeles, ca">Los Angeles</option> </select> <br> <strong>End:</strong> <select id="end"> <option value="chicago, il">Chicago</option> <option value="st louis, mo">St Louis</option> <option value="joplin, mo">Joplin, MO</option> <option value="oklahoma city, ok">Oklahoma City</option> <option value="amarillo, tx">Amarillo</option> <option value="gallup, nm">Gallup, NM</option> <option value="flagstaff, az">Flagstaff, AZ</option> <option value="winona, az">Winona</option> <option value="kingman, az">Kingman</option> <option value="barstow, ca">Barstow</option> <option value="san bernardino, ca">San Bernardino</option> <option value="los angeles, ca">Los Angeles</option> </select> </div> <div id="right-panel"></div> <div id="map"></div> <script> function initMap() { var directionsDisplay = new google.maps.DirectionsRenderer; var directionsService = new google.maps.DirectionsService; var map = new google.maps.Map(document.getElementById('map'), { zoom: 7, center: {lat: 41.85, lng: -87.65} }); directionsDisplay.setMap(map); directionsDisplay.setPanel(document.getElementById('right-panel')); var control = document.getElementById('floating-panel'); control.style.display = 'block'; map.controls[google.maps.ControlPosition.TOP_CENTER].push(control); var onChangeHandler = function() { calculateAndDisplayRoute(directionsService, directionsDisplay); }; document.getElementById('start').addEventListener('change', onChangeHandler); document.getElementById('end').addEventListener('change', onChangeHandler); } function calculateAndDisplayRoute(directionsService, directionsDisplay) { var start = document.getElementById('start').value; var end = document.getElementById('end').value; directionsService.route({ origin: start, destination: end, travelMode: google.maps.TravelMode.DRIVING }, function(response, status) { if (status === google.maps.DirectionsStatus.OK) { directionsDisplay.setDirections(response); } else { window.alert('Directions request failed due to ' + status); } }); } </script> <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAlOwaZBwKTyxujkjgBj9aHwPwp84uK5Oc&signed_in=true&callback=initMap" async defer></script> </body> </html>
Излиза ми така и не работи нищо.
http://prikachi.com/images.php?images/285/8391285y.png
Сигурно се появява някаква грешка по кода, но все още съм начинаещ и не му разбирам мн мн.
От показаният код изглежда че се опитваш да качиш цялата HTML страница във вече съществуваща страница/публикация.
На теб ти трябват следните неща – кода за map-а, CSS + JavaScrip, които можеш да copy-paste-неш в текстов режим.Моят личен съвет е да изнесеш стиловете и скриптовете във файл и да добавиш само нужният код за картата, но вече зависи от конкретната ситуация
нещо пак обърквам. Ако опитам да добавя Child Theme и там са сложа файл js
и малко код в functions.php.
Само, че и тук незнам как става точно.На крактко – това което ми показа по-горе е цяла HTML страница, а на теб ти трябва само частта с картата, скриптовете и стиловете за нея.
Това което можеш да направиш е да изведеш нужният html в отделен page template, да добавиш скриптовете и стиловете в отделн файл (ако държиш да го направиш по-чисто). Можеш да оставиш скриптовете и стиловете във въпросният темплейт, но аз лично предпочитам да държа нещата подредени и разделени
- Темата ‘Визуализиране на карти’ е затворена за нови отговори.