Javascript 谷歌地图:侧边栏链接的中心位置
我现在有一个googlemap画布,它有一个侧边栏,上面有链接,点击后,会用一个标记和信息窗口将用户带到latlong位置。当地图被加载时,这是中心的,但是当他们点击链接时,地图不会在中间标记为中间。 我已尝试在我的marker函数中添加map.setCenter,但这会使map和markers在我的控制台中消失,不会出现任何错误。有谁能给我一段代码或教程来帮助我吗?下面是我的示例代码:Javascript 谷歌地图:侧边栏链接的中心位置,javascript,google-maps-api-3,google-maps-markers,latitude-longitude,Javascript,Google Maps Api 3,Google Maps Markers,Latitude Longitude,我现在有一个googlemap画布,它有一个侧边栏,上面有链接,点击后,会用一个标记和信息窗口将用户带到latlong位置。当地图被加载时,这是中心的,但是当他们点击链接时,地图不会在中间标记为中间。 我已尝试在我的marker函数中添加map.setCenter,但这会使map和markers在我的控制台中消失,不会出现任何错误。有谁能给我一段代码或教程来帮助我吗?下面是我的示例代码: <script type="text/javascript"> var side_bar_ht
<script type="text/javascript">
var side_bar_html = "";
var gmarkers = [];
var map = null;
function initialize() {
var myOptions = {
zoom: 12,
center: new google.maps.LatLng(46.18363372751015,12.4530029296875),
mapTypeControl: true,
mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
navigationControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
google.maps.event.addListener(map, 'click', function() {
infowindow.close();
});
var point = new google.maps.LatLng(46.18363372751015,12.4530029296875);
var marker = createMarker(point,"example 1","location 1 info")
var point = new google.maps.LatLng(39.31517545076218, 35.25238037109375);
var marker = createMarker(point,"example 2","location 2 info")
document.getElementById("marker_list").innerHTML = side_bar_html;
}
var infowindow = new google.maps.InfoWindow({
size: new google.maps.Size(150,50),
});
function myclick(i) {
google.maps.event.trigger(gmarkers[i], "click");
}
function createMarker(latlng, name, html) {
var contentString = html;
var marker = new google.maps.Marker({
position:latlng,
map: map
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(contentString);
infowindow.open(map,marker);
});
gmarkers.push(marker);
side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a><br>';
}
</script>
var side_bar_html=“”;
var gmarkers=[];
var-map=null;
函数初始化(){
变量myOptions={
缩放:12,
中心:新google.maps.LatLng(46.18363372751015,12.45300296875),
mapTypeControl:true,
mapTypeControlOptions:{style:google.maps.MapTypeControlStyle.DROPDOWN_MENU},
导航控制:错误,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
google.maps.event.addListener(映射,'click',函数(){
infowindow.close();
});
var point=new google.maps.LatLng(46.18363372751015,12.45300296875);
var marker=createMarker(点,“示例1”,“位置1信息”)
var point=new google.maps.LatLng(39.31517545076218,35.25238037109375);
var marker=createMarker(点,“示例2”,“位置2信息”)
document.getElementById(“标记列表”).innerHTML=side\u bar\u html;
}
var infowindow=new google.maps.infowindow({
尺寸:新谷歌地图尺寸(150,50),
});
功能myclick(i){
google.maps.event.trigger(gmarkers[i],“点击”);
}
函数createMarker(latlng、name、html){
var contentString=html;
var marker=new google.maps.marker({
位置:latlng,
地图:地图
});
google.maps.event.addListener(标记'click',函数(){
setContent(contentString);
信息窗口。打开(地图、标记);
});
G标记器。推(标记器);
侧栏html+=''+name+'
';
}
如果要在单击地图时使地图位于标记的中心,则需要编写代码来完成此操作。默认情况下,它平移以使信息窗口可见。更改此项:
function myclick(i) {
google.maps.event.trigger(gmarkers[i], "click");
}
例如:
function myclick(i) {
map.setCenter(gmarkers[i].getPosition());
google.maps.event.trigger(gmarkers[i], "click");
}
谢谢你,我没有意识到需要重写一段代码,但是我找错了地方!