Javascript KmlLayer getDefaultViewport()未定义-谷歌地图

Javascript KmlLayer getDefaultViewport()未定义-谷歌地图,javascript,maps,Javascript,Maps,谢谢你的时间,我希望我能清楚地谈谈我的小问题。 我想使用这样一个变量“coor”: var coor = kml.getDefaultViewport().getCenter(); function initialisation(){ //affectation du résultat de la requète SQL et création des variables var liste = [<?php echo $liste;?>]; var centreCarte

谢谢你的时间,我希望我能清楚地谈谈我的小问题。 我想使用这样一个变量“coor”:

var coor = kml.getDefaultViewport().getCenter();
function initialisation(){
    //affectation du résultat de la requète SQL et création des variables
var liste = [<?php echo $liste;?>];
var centreCarte = new google.maps.LatLng(liste[0][2], liste[0][3]);
var optionsCarte = {
    zoom: 7,
    center: centreCarte,
    mapTypeId: google.maps.MapTypeId.ROADMAP}

var maCarte = new google.maps.Map(document.getElementById("EmplacementDeMaCarte"), optionsCarte);

//boucle permettant l'affichage des fichiers KML et la création des MARKER
//en fonction de la liste obtenue lors de la requète SQL
var i=0,li=liste.length;
while(i<li){
    var kml = new google.maps.KmlLayer('http://site.fr/kml/'+liste[i][0].toString()+'.kml', {
            'preserveViewport': true,
            'map': maCarte,
            'valeuri': i
    });
    google.maps.event.addListener(kml, "defaultviewport_changed", 
        function() {
            var marker = new MarkerWithLabel({
                    'position': this.getDefaultViewport().getCenter(),
                    'map': this.getMap(),
                    'draggable': true,
                    'raiseOnDrag': false,
                    'icon': 'http://site.fr/icon/noicon.png',
                    'labelContent': liste[this.valeuri][1],
                    'labelAnchor': new google.maps.Point(27, 12),
                    'labelClass': "labels",
                    'labelStyle': {opacity: 1}  
            });
        });
    i++;}
}
并将此变量用于新的标记位置。 问题是:javaScript返回未定义的

这是我的代码:

    function initialisation(){
    var centreCarte = new google.maps.LatLng(liste[0][2], liste[0][3]);
    var optionsCarte = {
        zoom: 7,
        center: centreCarte,
        mapTypeId: google.maps.MapTypeId.ROADMAP}                           
    var maCarte = new google.maps.Map(document.getElementById("EmplacementDeMaCarte"), optionsCarte);

    var i=0,li=liste.length;
    while(i<li){
    var kml = new google.maps.KmlLayer('http://myestory.fr/kml/'+liste[i]                [0].toString()+'.kml',
                        {
                        'preserveViewport': true,
                        'map': maCarte
                        });

    var coor = kml.getDefaultViewport().getCenter();

    var marker = new MarkerWithLabel({
    position: new google.maps.LatLng(coor),
    map: maCarte,
    ... //other options of MarkerWithLabel
    });
    i++;}
    }

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

    </script>
</head>
函数初始化(){
var centrecart=new google.maps.LatLng(liste[0][2],liste[0][3]);
var期权单={
缩放:7,
中心:centreCarte,,
mapTypeId:google.maps.mapTypeId.ROADMAP}
var maCarte=new google.maps.Map(document.getElementById(“empositiondemacart”),optionscort);
变量i=0,li=liste.length;

而(我一个家伙给了我一些关于我问题的有用细节。事实上,我必须在循环中使用一个侦听器,如下所示:

var coor = kml.getDefaultViewport().getCenter();
function initialisation(){
    //affectation du résultat de la requète SQL et création des variables
var liste = [<?php echo $liste;?>];
var centreCarte = new google.maps.LatLng(liste[0][2], liste[0][3]);
var optionsCarte = {
    zoom: 7,
    center: centreCarte,
    mapTypeId: google.maps.MapTypeId.ROADMAP}

var maCarte = new google.maps.Map(document.getElementById("EmplacementDeMaCarte"), optionsCarte);

//boucle permettant l'affichage des fichiers KML et la création des MARKER
//en fonction de la liste obtenue lors de la requète SQL
var i=0,li=liste.length;
while(i<li){
    var kml = new google.maps.KmlLayer('http://site.fr/kml/'+liste[i][0].toString()+'.kml', {
            'preserveViewport': true,
            'map': maCarte,
            'valeuri': i
    });
    google.maps.event.addListener(kml, "defaultviewport_changed", 
        function() {
            var marker = new MarkerWithLabel({
                    'position': this.getDefaultViewport().getCenter(),
                    'map': this.getMap(),
                    'draggable': true,
                    'raiseOnDrag': false,
                    'icon': 'http://site.fr/icon/noicon.png',
                    'labelContent': liste[this.valeuri][1],
                    'labelAnchor': new google.maps.Point(27, 12),
                    'labelClass': "labels",
                    'labelStyle': {opacity: 1}  
            });
        });
    i++;}
}
函数初始化(){
//对变量的SQL和cr需求的影响
var liste=[];
var centrecart=new google.maps.LatLng(liste[0][2],liste[0][3]);
var期权单={
缩放:7,
中心:centreCarte,,
mapTypeId:google.maps.mapTypeId.ROADMAP}
var maCarte=new google.maps.Map(document.getElementById(“empositiondemacart”),optionscort);
//在标记物和标记物的标记物和标记物的标记物之间进行渗透
//根据要求,在清单上填写以下信息:
变量i=0,li=liste.length;
而