Javascript 地图不显示带有if-else的锚点

Javascript 地图不显示带有if-else的锚点,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我在同一个网页上制作了两张地图,一次只能显示一张地图。(例如,如果我的位置是A,则显示地图1,如果位置是B,则显示地图2。更改地图效果很好。我现在唯一的问题是锚只出现在一个地图中。请帮助 我的Javascript <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script> <script> function initialize() {

我在同一个网页上制作了两张地图,一次只能显示一张地图。(例如,如果我的位置是A,则显示地图1,如果位置是B,则显示地图2。更改地图效果很好。我现在唯一的问题是锚只出现在一个地图中。请帮助

我的Javascript

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
    function initialize() {
        var myLatlng = new google.maps.LatLng(4.584007, 101.090027);
        var mapOptions = {
            zoom: 16,
            center: myLatlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

        var myLatlng1 = new google.maps.LatLng(3.040517, 101.704167);
        var mapProp2 = {
            center: myLatlng1,
            zoom: 16,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map2 = new google.maps.Map(document.getElementById("googleMap"), mapProp2);


        var marker = new google.maps.Marker({
            position: myLatlng,
            map: map,
            title: 'Location'
        });
        var marker1 = new google.maps.Marker({
            position: myLatlng1,
            map: map2,
            title: 'Location'
        });
    }

    google.maps.event.addDomListener(window, 'load', initialize);

</script>
<script>
    var originalNavClasses;

    function toggleNav() {
        var elem = document.getElementById('navigation_list');
        var classes = elem.className;
        if (originalNavClasses === undefined) {
            originalNavClasses = classes;
        }
        elem.className = /expanded/.test(classes) ? originalNavClasses : originalNavClasses + ' expanded';
    }
</script>
%If Request.QueryString("location") = "A" Then %>
        <a href="geo:http://maps.google.com/?q=3.040517,101.704167,15z"><img src="img/button_directions.png" border="0" /></a>
        <%Else %>
        <a href="geo:http://maps.google.com/?q=4.584007,101.090027,15z"><img src="img/button_directions.png" border="0" /></a> 
        <%End If%>

函数初始化(){
var mylatng=new google.maps.LatLng(4.584007101.090027);
变量映射选项={
缩放:16,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
var map=new google.maps.map(document.getElementById('map-canvas'),mapOptions);
var mylatng1=新的google.maps.LatLng(3.040517101.704167);
变量mapProp2={
中心:myLatlng1,
缩放:16,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map2=新的google.maps.Map(document.getElementById(“googleMap”),mapProp2);
var marker=new google.maps.marker({
职位:myLatlng,
地图:地图,
标题:“地点”
});
var marker1=新的google.maps.Marker({
位置:myLatlng1,
地图:map2,,
标题:“地点”
});
}
google.maps.event.addDomListener(窗口“加载”,初始化);
变量原始类别;
函数toggleNav(){
var elem=document.getElementById('navigation_list');
var classes=elem.className;
if(原始导航类===未定义){
原始导航类=类;
}
elem.className=/expanded/.test(classes)?originalNavClasses:originalNavClasses+“expanded”;
}
我的If..Else语句

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
    function initialize() {
        var myLatlng = new google.maps.LatLng(4.584007, 101.090027);
        var mapOptions = {
            zoom: 16,
            center: myLatlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

        var myLatlng1 = new google.maps.LatLng(3.040517, 101.704167);
        var mapProp2 = {
            center: myLatlng1,
            zoom: 16,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map2 = new google.maps.Map(document.getElementById("googleMap"), mapProp2);


        var marker = new google.maps.Marker({
            position: myLatlng,
            map: map,
            title: 'Location'
        });
        var marker1 = new google.maps.Marker({
            position: myLatlng1,
            map: map2,
            title: 'Location'
        });
    }

    google.maps.event.addDomListener(window, 'load', initialize);

</script>
<script>
    var originalNavClasses;

    function toggleNav() {
        var elem = document.getElementById('navigation_list');
        var classes = elem.className;
        if (originalNavClasses === undefined) {
            originalNavClasses = classes;
        }
        elem.className = /expanded/.test(classes) ? originalNavClasses : originalNavClasses + ' expanded';
    }
</script>
%If Request.QueryString("location") = "A" Then %>
        <a href="geo:http://maps.google.com/?q=3.040517,101.704167,15z"><img src="img/button_directions.png" border="0" /></a>
        <%Else %>
        <a href="geo:http://maps.google.com/?q=4.584007,101.090027,15z"><img src="img/button_directions.png" border="0" /></a> 
        <%End If%>
%If Request.QueryString(“位置”)=“A”然后%>

由于一次只显示一个映射,因此应避免使用两个映射实例,它们非常繁重,可能会导致这种混乱。在需要时,只使用一个实例更改其选项。初始化后,您可以更改映射实例的几乎任何参数

现在我看到类似的东西可以帮助你:

var myLatlng = new google.maps.LatLng(4.584007, 101.090027);
var myLatlng1 = new google.maps.LatLng(3.040517, 101.704167);

var mapOptions = {
    zoom: 16,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
};

var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

var marker = new google.maps.Marker({
    position: myLatlng,
    title: 'Location'
});

// Then you can set the position of the marker and the center of the map
function changeLocation(someCondition){
  if(someCondition){
      marker.setPosition(myLatlng1);
      map.setCenter(myLatlng1);
  }else{
      marker.setPosition(myLatlng);
      map.setCenter(myLatlng);
  }
}
如果想要的行为是记住两种不同的映射状态,那么可以存储它们

var mapPreviousStatus = {
   center: map.getCenter(),
   zoom: map.getZoom(),
   mapTypeId : map.getMapTypeId()
   // Any other parameter that you must remember
};
以这种方式工作会更费劲,但效率会更高

有关和,请参阅