Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图:侧边栏链接的中心位置_Javascript_Google Maps Api 3_Google Maps Markers_Latitude Longitude - Fatal编程技术网

Javascript 谷歌地图:侧边栏链接的中心位置

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

我现在有一个googlemap画布,它有一个侧边栏,上面有链接,点击后,会用一个标记和信息窗口将用户带到latlong位置。当地图被加载时,这是中心的,但是当他们点击链接时,地图不会在中间标记为中间。 我已尝试在我的marker函数中添加map.setCenter,但这会使map和markers在我的控制台中消失,不会出现任何错误。有谁能给我一段代码或教程来帮助我吗?下面是我的示例代码:

<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");
}

谢谢你,我没有意识到需要重写一段代码,但是我找错了地方!