Google map api v3问题 [英] Google map api v3 issue

查看:91
本文介绍了Google map api v3问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我需要使用多个地图来显示它们,而且我不知道

这里的代码php代码:

  < script type =text / javascript
src =http://maps.googleapis.com/maps/api/js?key=AIzaSyA5DRxSgUpWIfkLYULGijHXFQdogRElRIg&sensor=false>
< / script>
<?php
($ i = 1; $ i <= 4; $ i ++){
echomap n:)。 $ i。 <峰; br /> 中;
?>< script>
函数initialize(ltd,lgd){
var myOptions = {
center:new google.maps.LatLng(ltd,lgd),
zoom:15,
panControl:false,
zoomControl:false,
mapTypeControl:false,
scaleControl:false,
streetViewControl:false,
overviewMapControl:false,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById(map_canvas<?php echo $ i?>),
myOptions);
google.maps.event.addListener(map,'click',function(event){
placeMarker(event.latLng);
});
var marker;
marker = new google.maps.Marker({
position:new google.maps.LatLng(ltd,lgd),
map:map
});
}
< / script>
<?php echo< body onload ='initialize(36.835769,10.247693)'>; ?>
< div id =map_canvas<?php echo $ i?> style =margin-top:18px; width:136px; height:136px;>< / div>
<?php
}
?>

感谢您的帮助:

解决方案

您正在创建函数初始化多次,什么是无用的,函数会被每次覆盖。



使用函数只有一次,并传递地图的id作为参数:

 < script type =text / javascript
src =http://maps.googleapis.com/maps/api/js?sensor=false>
< / script>
< script>
函数initialize(ltd,lgd,map){
var myOptions = {
center:new google.maps.LatLng(ltd,lgd),
zoom:15,
panControl:false,
zoomControl:false,
mapTypeControl:false,
scaleControl:false,
streetViewControl:false,
overviewMapControl:false,
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById(map),
myOptions);
google.maps.event.addListener(map,'click',function(event){
placeMarker(event.latLng);
});
var marker;
marker = new google.maps.Marker({
position:new google.maps.LatLng(ltd,lgd),
map:map
});
}
< / script>
<?php
($ i = 1; $ i <= 4; $ i ++){
echomap n:)。 $ i。 <峰; br /> 中;
?>
< div id =map_canvas<?php echo $ i?>
style =margin-top:18px; width:136px; height:136px;>< / div>
< script>
google.maps.event
.addDomListener(window,
'load',
function()
{
初始化(36.835769,
10.247693,
'map_canvas<?php echo $ i;?>')});
< / script>
<?php
}
?>


I'm using google map API v3, and i have an issue.

I need to display them with more than one map, and i don't know the number of maps.

Here the code php code:

<script type="text/javascript"
        src="http://maps.googleapis.com/maps/api/js?key=AIzaSyA5DRxSgUpWIfkLYULGijHXFQdogRElRIg&sensor=false">
</script>
<?php
for ($i = 1; $i <= 4; $i++) {
    echo "map n:" . $i . "<br/>";
    ?><script>
        function initialize(ltd,lgd) {
            var myOptions = {
                center: new google.maps.LatLng(ltd, lgd ),
                zoom: 15,
                panControl: false,
                zoomControl: false,
                mapTypeControl: false,
                scaleControl: false,
                streetViewControl: false,
                overviewMapControl: false,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var map = new google.maps.Map(document.getElementById("map_canvas<?php echo $i ?>"),
            myOptions);
            google.maps.event.addListener(map, 'click', function(event) {
                placeMarker(event.latLng);
            });
            var marker;
            marker = new google.maps.Marker({
                position: new google.maps.LatLng(ltd, lgd),
                map: map
            });
        }
    </script>
    <?php echo "<body onload='initialize(36.835769,10.247693)'>"; ?>
    <div id="map_canvas<?php echo $i ?>" style="margin-top:18px; width: 136px; height: 136px;"></div>
    <?php
}
?>

Thanks for any help :)

解决方案

You're creating the function initialize multiple times, what is useless, the function will be overwritten each time.

Use the function only 1 time and pass the id of the map as argument:

<script type="text/javascript"
        src="http://maps.googleapis.com/maps/api/js?sensor=false">
</script>
<script>
        function initialize(ltd,lgd,map) {
            var myOptions = {
                center: new google.maps.LatLng(ltd, lgd ),
                zoom: 15,
                panControl: false,
                zoomControl: false,
                mapTypeControl: false,
                scaleControl: false,
                streetViewControl: false,
                overviewMapControl: false,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var map = new google.maps.Map(document.getElementById(map),
            myOptions);
            google.maps.event.addListener(map, 'click', function(event) {
                placeMarker(event.latLng);
            });
            var marker;
            marker = new google.maps.Marker({
                position: new google.maps.LatLng(ltd, lgd),
                map: map
            });
        }
    </script>
<?php
for ($i = 1; $i <= 4; $i++) {
    echo "map n:" . $i . "<br/>";
    ?>
    <div id="map_canvas<?php echo $i ?>" 
         style="margin-top:18px; width: 136px; height: 136px;"></div>
    <script>
    google.maps.event
     .addDomListener(window, 
                    'load', 
                    function()
                    {
                     initialize(36.835769,
                                10.247693,
                                'map_canvas<?php echo $i;?>')});
    </script>
    <?php
}
?>

这篇关于Google map api v3问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆