モーダル内のGoogleマップが表示されない

SCS

クリックするとマップが表示されるモーダルがありますが、マップが機能せず、代わりにグレー画像が表示されます。

  <button class="btn" data-toggle="modal" data-target="#myModal" onclick="resize()">Show Modal</button>
    <!--MODAL-->
    <div id="myModal" class="modal fade" role="dialog">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                    <h4 class="modal-title">Warning!</h4>
                </div>
                <div class="modal-body" id="modal-body">

                    <input id="pac-input" class="controls" type="text" placeholder="Search Box">
                    <div id="map" style="width: 580px; height:400px"></div>
                </div>
                <div class="modal-footer" id="modal-footer">

                </div>
            </div>
        </div>
    </div>

私のsrciptはグーグルオートコンプリートプレイスからのものです。マップがモーダル内にない場合、それは完全に正常に機能しています。

  <script>
            // This example adds a search box to a map, using the Google Place Autocomplete
            // feature. People can enter geographical searches. The search box will return a
            // pick list containing a mix of places and predicted search terms.

            // This example requires the Places library. Include the libraries=places
            // parameter when you first load the API. For example:
            // <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places">
var map;

            function initAutocomplete() {
                map = new google.maps.Map(document.getElementById('map'), {
                    center: {lat: -33.8688, lng: 151.2195},
                    zoom: 13,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                });

                // Create the search box and link it to the UI element.
                var input = document.getElementById('pac-input');
                var searchBox = new google.maps.places.SearchBox(input);
                map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);

                // Bias the SearchBox results towards current map's viewport.
                map.addListener('bounds_changed', function () {
                    searchBox.setBounds(map.getBounds());
                });

                var markers = [];
                // Listen for the event fired when the user selects a prediction and retrieve
                // more details for that place.
                searchBox.addListener('places_changed', function () {
                    var places = searchBox.getPlaces();

                    if (places.length == 0) {
                        return;
                    }

                    // Clear out the old markers.
                    markers.forEach(function (marker) {
                        marker.setMap(null);
                    });
                    markers = [];

                    // For each place, get the icon, name and location.
                    var bounds = new google.maps.LatLngBounds();
                    places.forEach(function (place) {
                        var icon = {
                            url: place.icon,
                            size: new google.maps.Size(71, 71),
                            origin: new google.maps.Point(0, 0),
                            anchor: new google.maps.Point(17, 34),
                            scaledSize: new google.maps.Size(25, 25)
                        };

                        // Create a marker for each place.
                        markers.push(new google.maps.Marker({
                            map: map,
                            icon: icon,
                            title: place.name,
                            position: place.geometry.location
                        }));

                        if (place.geometry.viewport) {
                            // Only geocodes have viewport.
                            bounds.union(place.geometry.viewport);
                        } else {
                            bounds.extend(place.geometry.location);
                        }
                    });
                    map.fitBounds(bounds);
                });

            }

function resize(){

            $('#myModal').on('shown', function () {
                google.maps.event.trigger(map, "resize");
            });
}

        </script>

ここに画像の説明を入力してください

私はこの同様の質問をしようとしましたが、それは私に与えています

Uncaught ReferenceError:$が定義されていません

      // This example adds a search box to a map, using the Google Place Autocomplete
            // feature. People can enter geographical searches. The search box will return a
            // pick list containing a mix of places and predicted search terms.

            // This example requires the Places library. Include the libraries=places
            // parameter when you first load the API. For example:
            // <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places">
            var map;

            function initAutocomplete() {
                map = new google.maps.Map(document.getElementById('map'), {
                    center: {lat: -33.8688, lng: 151.2195},
                    zoom: 13,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                });

                // Create the search box and link it to the UI element.
                var input = document.getElementById('pac-input');
                var searchBox = new google.maps.places.SearchBox(input);
                map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);

                // Bias the SearchBox results towards current map's viewport.
                map.addListener('bounds_changed', function () {
                    searchBox.setBounds(map.getBounds());
                });

                var markers = [];
                // Listen for the event fired when the user selects a prediction and retrieve
                // more details for that place.
                searchBox.addListener('places_changed', function () {
                    var places = searchBox.getPlaces();

                    if (places.length == 0) {
                        return;
                    }

                    // Clear out the old markers.
                    markers.forEach(function (marker) {
                        marker.setMap(null);
                    });
                    markers = [];

                    // For each place, get the icon, name and location.
                    var bounds = new google.maps.LatLngBounds();
                    places.forEach(function (place) {
                        var icon = {
                            url: place.icon,
                            size: new google.maps.Size(71, 71),
                            origin: new google.maps.Point(0, 0),
                            anchor: new google.maps.Point(17, 34),
                            scaledSize: new google.maps.Size(25, 25)
                        };

                        // Create a marker for each place.
                        markers.push(new google.maps.Marker({
                            map: map,
                            icon: icon,
                            title: place.name,
                            position: place.geometry.location
                        }));

                        if (place.geometry.viewport) {
                            // Only geocodes have viewport.
                            bounds.union(place.geometry.viewport);
                        } else {
                            bounds.extend(place.geometry.location);
                        }
                    });
                    map.fitBounds(bounds);
                });

            }




$(document).ready(function () {
                $('#myModal').on('shown', function () {
                    google.maps.event.trigger(map, "resize");
                });
            });
<!DOCTYPE html>
<html>
    <body>
      <body>
        <button class="btn" data-toggle="modal" data-target="#myModal"/>Show Modal</button>
        <!--MODAL-->
        <div id="myModal" class="modal fade" role="dialog">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal">&times;</button>
                        <h4 class="modal-title">Warning!</h4>
                    </div>
                    <div class="modal-body" id="modal-body">

                        <input id="pac-input" class="controls" type="text" placeholder="Search Box">
                        <div id="map" style="width: 580px; height:400px"></div>
                    </div>
                    <div class="modal-footer" id="modal-footer">

                    </div>
                </div>
            </div>
        </div>
      <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyADR3ipXgTLZd7uIcl3NBUujxF3kKp9rFk&libraries=places&callback=initAutocomplete"
        async defer></script>
      <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js"></script>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
            
            </body>
</html>

F
var map;

function initAutocomplete() {
    map = new google.maps.Map(document.getElementById('map'), {
        center: {lat: -33.8688, lng: 151.2195},
        zoom: 13,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    // ....
}
$(function() {
    $('#myModal').on('shown', function () {
        google.maps.event.trigger(map, "resize");
    });
});

あなたは包んだ

google.maps.event.trigger(map, "resize");

内部にfunction resize() {}実行されることはありません。代わりにjQuery'sでラップしてみてください$(document).ready(function(){});

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Googleマップがモーダルポップアップに表示されない

分類Dev

Googleマップがブートストラップモーダルに表示されない

分類Dev

モデルRails5のマーカーが表示されないGoogleマップ

分類Dev

モーダルポップアップが表示されない

分類Dev

ブートストラップモーダル内に完全なカレンダーが表示されない

分類Dev

Googleマップがブートストラップモーダルポップアップに表示されない

分類Dev

ブートストラップモーダルビュー内に表示されないGoogleマップコンテンツ

分類Dev

setCenter() と setPosition() がブートストラップ モーダルに表示された Google マップで機能しない - 賢いユーザー向け

分類Dev

ブートストラップモーダル:htmlページのコンテンツがモーダル内に表示されない

分類Dev

フラッターのGoogleマップが表示されない

分類Dev

AndroidのGoogleマップツールバーが表示されない

分類Dev

Laravelのモーダルボックスが表示されない

分類Dev

モーダルモードのブートストラップ日時ピッカーが表示されない

分類Dev

Googleマップの案内サービスが表示されない

分類Dev

Googleマップがリリースモードで表示されないandroid

分類Dev

Googleマップのヒートマップが表示されない

分類Dev

BoostrapVueモーダルでVue2-leafletマップが正しく表示されない

分類Dev

モーダルが表示されない

分類Dev

モーダルが表示されない

分類Dev

Googleマップが表示されない

分類Dev

ngImgCropアップロードプレビューにモーダルの画像が表示されない

分類Dev

反応ブートストラップモーダルが表示されない

分類Dev

React-ブートストラップモーダルが表示されない

分類Dev

モーダルブートストラップ4が表示されない

分類Dev

ブートストラップ4モーダルが表示されない

分類Dev

ブートストラップモーダルが表示されない

分類Dev

ブートストラップモーダルが表示されない

分類Dev

ブートストラップモーダルが表示されない

分類Dev

ブートストラップ モーダルが表示されない

Related 関連記事

  1. 1

    Googleマップがモーダルポップアップに表示されない

  2. 2

    Googleマップがブートストラップモーダルに表示されない

  3. 3

    モデルRails5のマーカーが表示されないGoogleマップ

  4. 4

    モーダルポップアップが表示されない

  5. 5

    ブートストラップモーダル内に完全なカレンダーが表示されない

  6. 6

    Googleマップがブートストラップモーダルポップアップに表示されない

  7. 7

    ブートストラップモーダルビュー内に表示されないGoogleマップコンテンツ

  8. 8

    setCenter() と setPosition() がブートストラップ モーダルに表示された Google マップで機能しない - 賢いユーザー向け

  9. 9

    ブートストラップモーダル:htmlページのコンテンツがモーダル内に表示されない

  10. 10

    フラッターのGoogleマップが表示されない

  11. 11

    AndroidのGoogleマップツールバーが表示されない

  12. 12

    Laravelのモーダルボックスが表示されない

  13. 13

    モーダルモードのブートストラップ日時ピッカーが表示されない

  14. 14

    Googleマップの案内サービスが表示されない

  15. 15

    Googleマップがリリースモードで表示されないandroid

  16. 16

    Googleマップのヒートマップが表示されない

  17. 17

    BoostrapVueモーダルでVue2-leafletマップが正しく表示されない

  18. 18

    モーダルが表示されない

  19. 19

    モーダルが表示されない

  20. 20

    Googleマップが表示されない

  21. 21

    ngImgCropアップロードプレビューにモーダルの画像が表示されない

  22. 22

    反応ブートストラップモーダルが表示されない

  23. 23

    React-ブートストラップモーダルが表示されない

  24. 24

    モーダルブートストラップ4が表示されない

  25. 25

    ブートストラップ4モーダルが表示されない

  26. 26

    ブートストラップモーダルが表示されない

  27. 27

    ブートストラップモーダルが表示されない

  28. 28

    ブートストラップモーダルが表示されない

  29. 29

    ブートストラップ モーダルが表示されない

ホットタグ

アーカイブ