谷歌地图显示问题

时间:2012-05-22 17:51:05

标签: php javascript google-maps

我正在尝试从以下代码中做两件事:

  1. 如果地理编码不成功,请不要显示地图(到目前为止,我只隐藏了错误消息。)
  2. 如果成功,只需在重新加载地址之前加载地址而不是原始latlng。
  3. 你必须原谅所有单引号,在php回音下加载javascript。

    任何欢迎的想法,理想情况下我想在javascript中处理它,但如果需要的话,不要介意一些PHP,我希望在网站的一些区域使用它。

    echo '
    <script type="text/javascript">
    var geocoder;
    var map;
    function initialize() {
        geocoder = new google.maps.Geocoder();
        var latlng = new google.maps.LatLng(51.500141,-0.125195);           
        var address = \''.$company.', '.$address_l1.', '.$address_l2.', '.$address_l3.', '.$town.', '.$county.', '.$post_code.', '.$country.'\';                            
        var myOptions = {
            zoom: 16,
            scrollwheel: false,
            navigationControl: false,
            mapTypeControl: false,
            scaleControl: false,
            streetViewControl: false,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        geocoder.geocode( { \'address\': address}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                map.setCenter(results[0].geometry.location);
                var marker = new google.maps.Marker({
                    map: map, 
                    position: results[0].geometry.location
                });
            } else {
                //alert("Geocode was not successful for the following reason: " + status);
            }
        });
    }
    </script>           
    <div id="map_canvas"></div>
    ';
    

1 个答案:

答案 0 :(得分:0)

将地图创建移动到地理编码的成功功能中,并使用document.getElementById('map_canvas')。style.display ='block'或none来显示/隐藏地图失败。