Помощ » Въпроси и отговори » Визуализиране на карти

  • Здравейте имам питане защо карти на Гугъл не се показват, като сложа кода и нищо. ако се покаже то нещата се размазват полетата, упътванията не работят, разместват се и нищо не се получава както трябва. като отворя хтмл файла през браузъра си е всичко наред. Искам да го сложа, като публикация и го правя като текстов редактор?
    Някой да знае защо се получава така и как се оправя това нещо?

Виждате 5 отговора - 1 от 5 (от 5 общо)
  • Модератор Stanko Metodiev

    (@metodiew)

    Можеш ли да copy-paste-неш кода тук, за да го погледнем и ние?
    Също така провери дали текущият потребител има права да пише HTML в редактора. Ти си споменал че това се прави в текстов редактор, но за всеки случаи провери отново, защото Visual редактор няма да можеш да поставиш работещ HTML

    Thread Starter Don Huan

    (@don-huan)

    Примерно този код.

    <!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

    Сигурно се появява някаква грешка по кода, но все още съм начинаещ и не му разбирам мн мн.

    Модератор Stanko Metodiev

    (@metodiew)

    От показаният код изглежда че се опитваш да качиш цялата HTML страница във вече съществуваща страница/публикация.
    На теб ти трябват следните неща – кода за map-а, CSS + JavaScrip, които можеш да copy-paste-неш в текстов режим.

    Моят личен съвет е да изнесеш стиловете и скриптовете във файл и да добавиш само нужният код за картата, но вече зависи от конкретната ситуация

    Thread Starter Don Huan

    (@don-huan)

    нещо пак обърквам. Ако опитам да добавя Child Theme и там са сложа файл js
    и малко код в functions.php.
    Само, че и тук незнам как става точно.

    Модератор Stanko Metodiev

    (@metodiew)

    На крактко – това което ми показа по-горе е цяла HTML страница, а на теб ти трябва само частта с картата, скриптовете и стиловете за нея.
    Това което можеш да направиш е да изведеш нужният html в отделен page template, да добавиш скриптовете и стиловете в отделн файл (ако държиш да го направиш по-чисто). Можеш да оставиш скриптовете и стиловете във въпросният темплейт, но аз лично предпочитам да държа нещата подредени и разделени

Виждате 5 отговора - 1 от 5 (от 5 общо)
  • Темата ‘Визуализиране на карти’ е затворена за нови отговори.