1

我正在使用 symfony2 并尝试在页面上初始化谷歌地图。

这是我的js

<script type="text/javascript">
      function initialize(address) {
        var geoCoder = new google.maps.Geocoder(address)
        var request = {address:address};
        geoCoder.geocode(request, function(result, status){
            var latlng = new google.maps.LatLng(result[0].geometry.location.lat(), result[0].geometry.location.lng());
            var myOptions = {
              scrollwheel: false,
              zoom: 15,
              center: latlng,
              mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var image = '{{ asset('/images/map_marker.png') }}';
            var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
            var marker = new google.maps.Marker({position:latlng,map:map,title:'title',icon:image});
            var input = document.getElementById('inputCity');
            var options = {
              types: ['(cities)'],
            };
            autocomplete = new google.maps.places.Autocomplete(input, options);

        })
      }

</script>

这就是我初始化地图的方式

<script>
    $(document).ready(function(){
        initialize('Athens Greece');
        })

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

</script> 

这就是我显示地图的方式

<div style="height:100%; width:100%;">
    <div class="svmMap" id="map_canvas" ></div>
    <!-- tried this also <script> initialize('Athens,Greece'); </script> -->
</div>

这是它的显示方式

谷歌地图

我附加了一个带有初始化功能的按钮,它刷新地图并显示输入框中的地址。它可以 100% 工作。

任何想法为什么会在第一次初始化时发生?

4

0 回答 0