Javascript 地图不显示带有if-else的锚点
我在同一个网页上制作了两张地图,一次只能显示一张地图。(例如,如果我的位置是A,则显示地图1,如果位置是B,则显示地图2。更改地图效果很好。我现在唯一的问题是锚只出现在一个地图中。请帮助 我的JavascriptJavascript 地图不显示带有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() {
<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
};
以这种方式工作会更费劲,但效率会更高
有关和,请参阅