Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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
markerclusterer无法运行php mysql json_Php_Mysql_Api_Google Maps_Markerclusterer - Fatal编程技术网

markerclusterer无法运行php mysql json

markerclusterer无法运行php mysql json,php,mysql,api,google-maps,markerclusterer,Php,Mysql,Api,Google Maps,Markerclusterer,需要工作标记聚类器。 我举几个例子 这对我不起作用 我的源代码 var buildings_map = <?php echo json_encode( $buildings_map ) ?>; var infobox = new google.maps.InfoWindow(); var bounds = new google.maps.LatLngBounds(); function setMarker(building) { var latlng = new google.

需要工作标记聚类器。 我举几个例子

这对我不起作用

我的源代码

 var buildings_map = <?php echo json_encode( $buildings_map ) ?>;
var infobox = new google.maps.InfoWindow();
var bounds = new google.maps.LatLngBounds();
function setMarker(building) {
  var latlng = new google.maps.LatLng(parseFloat(building.lat), parseFloat(building.lng));
 console.log(latlng);
  bounds.extend(latlng);
  var buildingMarkers = new google.maps.Marker({
    position: {lat: parseFloat(building.lat), lng: parseFloat(building.lng)},
    map: map,
    title: building.name
  });

  markerCluster = new MarkerClusterer(map, buildingMarkers);
  google.maps.event.addListener(buildingMarkers, 'click', function () {
    infobox.close();

    infobox.setContent(building.content);
    infobox.open(map, buildingMarkers);
  });

  google.maps.event.addListener(infobox, 'domready', function () {
    var iwOuter = $('.gm-style-iw');
var建筑图=;
var infobox=new google.maps.InfoWindow();
var bounds=new google.maps.LatLngBounds();
功能设置标记(建筑物){
var latlng=新的google.maps.latlng(parseFloat(building.lat)、parseFloat(building.lng));
控制台日志(latlng);
边界扩展(latlng);
var buildingMarkers=new google.maps.Marker({
位置:{lat:parseFloat(building.lat),lng:parseFloat(building.lng)},
地图:地图,
标题:building.name
});
markerCluster=新的MarkerClusterer(地图、建筑标记);
google.maps.event.addListener(buildingMarkers,'click',函数(){
infobox.close();
infobox.setContent(building.content);
打开(地图、建筑标记);
});
google.maps.event.addListener(信息框,'domready',函数(){
var-iwOuter=$('.gm-style-iw');

您正在setMarker函数中创建markerClusterer。它将继续为每个建筑标记重新初始化markerClusterer

将markerClusterer创建移到for循环之后。我还将setMarker函数移到initMap函数之外

您可以在脚本和测试中替换以下代码

<script>
var markersArray = new Array();

function initMap() {

    var centerMap = <?php echo json_encode( $centerMap ) ?>;
    var map = new google.maps.Map(document.getElementById('map-imoveis'), {
      zoom: 4,
      center: {lat: parseFloat(centerMap.lat), lng: parseFloat(centerMap.lng)},      
      zoomControl: true,
      language: 'pt-br'    
    });

    var buildings_map = <?php echo json_encode( $buildings_map ) ?>;
    var infobox = new google.maps.InfoWindow();
    var bounds = new google.maps.LatLngBounds();

    for (building in buildings_map) {

        if (buildings_map.hasOwnProperty(building)) {
            setMarker(buildings_map[building]);
        }
        console.log(buildings_map[building]);      
    }


    // J - CREATE MARKER CLUSTER USING THE MARKERS ARRAY 
    var markerCluster = new MarkerClusterer(map, markersArray, {imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'});

    if (bounds.getNorthEast().equals(bounds.getSouthWest())) {
      var extendPoint1 = new google.maps.LatLng(bounds.getNorthEast().lat() + 0.01, bounds.getNorthEast().lng() + 0.01);
      var extendPoint2 = new google.maps.LatLng(bounds.getNorthEast().lat() - 0.01, bounds.getNorthEast().lng() - 0.01);
      bounds.extend(extendPoint1);
      bounds.extend(extendPoint2);
    }

    map.fitBounds(bounds);
  }


function setMarker(building) {
      var latlng = new google.maps.LatLng(parseFloat(building.lat), parseFloat(building.lng));
      console.log(latlng);
      bounds.extend(latlng);
      var buildingMarkers = new google.maps.Marker({
        position: {lat: parseFloat(building.lat), lng: parseFloat(building.lng)},
        map: map,
        title: building.name
      });

      // J - ADD MARKER TO THE ARRAY. 
      markersArray.push(marker);

      google.maps.event.addListener(buildingMarkers, 'click', function () {
        infobox.close();

        infobox.setContent(building.content);
        infobox.open(map, buildingMarkers);
      });

      google.maps.event.addListener(infobox, 'domready', function () {
        var iwOuter = $('.gm-style-iw');

        iwOuter.css({ 'left': '0', 'width': '100%' });

        var iwBackground = iwOuter.prev();
        iwBackground.parent().css({'width': '330px'});

        iwBackground.children(':nth-child(2)').css({
          'background-color': 'transparent', 'box-shadow': 'none'
        });


        iwBackground.children(':nth-child(4)').css({
          'background-color': 'transparent'
        });

        var iwX = iwOuter.next();
        iwX.css({'right': '0', 'top': '15px'});

        iwX.children().remove();

        iwX.css({ 'width': '28px', 'height': '28px' }).append('<span style="color: #b22c2c; font-size: 22px;"><i class="rimo rimo-close">X</span>');

        iwBackground.children(':nth-child(3)').children(':first-child').children(':first-child').css({'background-color': '#fff', 'z-index': '1000', 'display': 'none', 'box-shadow': 'none'});
        iwBackground.children(':nth-child(3)').children(':last-child').children(':first-child').css({'background-color': '#fff', 'z-index': '1000', 'display': 'none', 'box-shadow': 'none'});
      });
    }  

</script>   

var markersArray=新数组();
函数initMap(){
var centerMap=;
var map=new google.maps.map(document.getElementById('map-imovis'){
缩放:4,
中心:{lat:parseFloat(centerMap.lat),lng:parseFloat(centerMap.lng)},
动物控制:对,
语言:“pt br”
});
var_map=;
var infobox=new google.maps.InfoWindow();
var bounds=new google.maps.LatLngBounds();
用于(建筑中的建筑\u地图){
if(建筑物\u地图hasOwnProperty(建筑物)){
SETMAKER(建筑物和地图[建筑物]);
}
控制台日志(建筑物地图[建筑物]);
}
//J-使用标记数组创建标记簇
var markerCluster=new MarkerClusterer(映射,markersArray,{imagePath:'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'});
如果(bounds.getNorthwest().equals(bounds.getSouthWest())){
var extendPoint1=new google.maps.LatLng(bounds.getNorthEast().lat()+0.01,bounds.getNorthEast().lng()+0.01);
var extendPoint2=new google.maps.LatLng(bounds.getNorthEast().lat()-0.01,bounds.getNorthEast().lng()-0.01);
扩展(扩展点1);
扩展(扩展点2);
}
映射边界(bounds);
}
功能设置标记(建筑物){
var latlng=新的google.maps.latlng(parseFloat(building.lat)、parseFloat(building.lng));
控制台日志(latlng);
边界扩展(latlng);
var buildingMarkers=new google.maps.Marker({
位置:{lat:parseFloat(building.lat),lng:parseFloat(building.lng)},
地图:地图,
标题:building.name
});
//J-将标记添加到数组中。
markersArray.push(marker);
google.maps.event.addListener(buildingMarkers,'click',函数(){
infobox.close();
infobox.setContent(building.content);
打开(地图、建筑标记);
});
google.maps.event.addListener(信息框,'domready',函数(){
var-iwOuter=$('.gm-style-iw');
css({'left':'0','width':'100%});
var iwBackground=iwOuter.prev();
css({'width':'330px'});
iwBackground.children(“:n个child(2)”).css({
“背景色”:“透明”,“框阴影”:“无”
});
iwBackground.children(“:n个child(4)”).css({
“背景色”:“透明”
});
var iwX=iwOuter.next();
css({'right':'0','top':'15px'});
iwX.children().remove();
css({'width':'28px','height':'28px'});
iwBackground.children(':nth child(3')).children(':first child').children(':first child').css({'background-color':'#fff','z-index':'1000','display':'none','box shadow':'none');
iwBackground.children(':nth child(3')).children(':last child').children(':first child').css({'background-color':'#fff','z-index':'1000','display':'none','box shadow':'none');
});
}  

请提供一个在问题本身中说明您的问题的链接,而不是(仅)指向外部站点的链接(最好是正在工作的StackOverflow代码段)好的。我已编辑。请帮助我..错误:未捕获(承诺中)ReferenceError:js?key=aizasyblzvmdnmozqs7xlz3hsecsqrjomkudlc&callback=initMap&language=pt br:123在js?key=aizasyblzvmdnmozqs7xlz3hsecsqrjomkudlc&callback=initMap&language=pt br:123的initMap上没有定义标记。请提供示例数据(
buildings\u map
)和有效的javascript;因此,您的问题中有一个问题。(问题中只有23行,第123行是什么?)我有很长的代码..不可能在这里发布..stackoverflow not permit.hi guy ty寻求帮助..错误:未捕获Kc{消息:“不是LatLng或LatlInTerral:在属性lat:不是数字”,名称:“InvalidValueError”,堆栈:“error”↵ 在新的Kc(…maps-api-v3/api/js/36/2/intl/pt_br/map.js:36:350)”在控制台中打印
building.lat
building.lng
的值,以检查您是否获得了正确的值。如果它们不是数字,则
parseFloat
方法将抛出一个错误。Hi guy,智能手机工作正常。但在计算机不工作的情况下,会出现此错误,这是什么?您是否检查了检查发送到智能手机控制台的
building.lat
building.lng
的值。日志(building.lat,building.lng)结果….-22.903500-43.209621-22.953388-43.078121-22.977592-43.191483-22.877958-42.028561-22.406187-41.802307。。。。。