Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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
Jquery 并非所有标记都显示在谷歌地图API中_Jquery_Google Maps - Fatal编程技术网

Jquery 并非所有标记都显示在谷歌地图API中

Jquery 并非所有标记都显示在谷歌地图API中,jquery,google-maps,Jquery,Google Maps,我知道有很多关于这个问题的话题,但是我已经尝试了所有的方法,仍然没有解决我的问题 我正试图根据我的成员的位置在谷歌地图上显示他们。问题是,尽管注册了34个成员,但只显示了15-22个(每次刷新时随机选择)标记 地址的地理编码是正确的,因为如果我进入members页面,它的标记会正确地显示在地图上。我相信这是数据加载的问题,但我不知道如何解决它 我正在Joomla网站上使用swmap插件。JQuery代码如下所示 <script type="text/javascript" src=

我知道有很多关于这个问题的话题,但是我已经尝试了所有的方法,仍然没有解决我的问题

我正试图根据我的成员的位置在谷歌地图上显示他们。问题是,尽管注册了34个成员,但只显示了15-22个(每次刷新时随机选择)标记

地址的地理编码是正确的,因为如果我进入members页面,它的标记会正确地显示在地图上。我相信这是数据加载的问题,但我不知道如何解决它

我正在Joomla网站上使用swmap插件。JQuery代码如下所示

    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&language='.$locale.'"></script> 
    <script type="text/javascript">
    window.addEvent("load",function(){initialize();});
    var beaches = '.json_encode($res).';
    function initialize() {
        var myLatlng = new google.maps.LatLng('.$lat_center.', '.$long_center.');
        var myOptions = {
        zoom: 10,
        center: myLatlng,
        mapTypeControl: true,
        mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
        navigationControl: true,
        mapTypeId: google.maps.MapTypeId.'.$cattype.'
        }

        var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
        google.maps.event.addListener(map, \'click\', function() {
        infowindow.close();
        });
        setMarkers(map, beaches);
    }

        var icons = new Array();
        icons["red"] = new google.maps.MarkerImage("'. JURI::root() .'plugins/k2/swmap/'.$color.'/landmark.png",
        new google.maps.Size(32, 32),
        new google.maps.Point(0,0),
        new google.maps.Point(0, 32));

    function getMarkerImage(iconColor) {
    if ((typeof(iconColor)=="undefined") || (iconColor==null)) {
    iconColor = "red";
    }

    if (!icons[iconColor]) {
    icons[iconColor] = new google.maps.MarkerImage("'. JURI::root() .'plugins/k2/swmap/'.$color.'/"+ iconColor +"",
    new google.maps.Size(32, 32),
    new google.maps.Point(0,0),
    new google.maps.Point(0, 32));
    }

    return icons[iconColor];
    }

    var iconImage = new google.maps.MarkerImage(\''. JURI::root() .'plugins/k2/swmap/'.$color.'/landmark.png\',
    new google.maps.Size(32, 32),
    new google.maps.Point(0,0),
    new google.maps.Point(0, 32));

    var infowindow = new google.maps.InfoWindow(
    {
    size: new google.maps.Size(150,50)
    });

    function createMarker(map, latlng, label,link, html, color) {

        var contentString = \'<b>\'+link+\'</b><br>\'+html;
        var marker = new google.maps.Marker({
        position: latlng,
        map: map,
        icon: getMarkerImage(color),
        title: label,
        zIndex: Math.round(latlng.lat()*-100000)<<5
    });

    google.maps.event.addListener(marker, \'click\', function() {
    infowindow.setContent(contentString);
    infowindow.open(map,marker);
    });
}



function setMarkers(map, locations) {
    var bounds = new google.maps.LatLngBounds();
    for (var i = 0; i < locations.length; i++) {
    var beach = locations[i];
    var myLatLng = new google.maps.LatLng(beach[1], beach[2]);
    var marker = createMarker(map,myLatLng,beach[0],beach[5],beach[4],beach[3]);
    bounds.extend(myLatLng);
    map.fitBounds(bounds);
}
}

addEvent(“加载”,函数(){initialize();});
var='.json_encode($res.);
函数初始化(){
var mylatng=new google.maps.LatLng(“.$lat_center.”,“.$long_center.”);
变量myOptions={
缩放:10,
中心:myLatlng,
mapTypeControl:true,
mapTypeControlOptions:{style:google.maps.MapTypeControlStyle.DROPDOWN_MENU},
导航控制:对,
mapTypeId:google.maps.mapTypeId.“.$cattype.”
}
var map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
google.maps.event.addListener(映射,\'click\',函数(){
infowindow.close();
});
设置标记(地图、海滩);
}
var icons=新数组();
icons[“red”]=新的google.maps.MarkerImage(“'.JURI::root().“plugins/k2/swmap/”.$color./landmark.png”,
新google.maps.Size(32,32),
新google.maps.Point(0,0),
新的google.maps.Point(0,32));
函数getMarkerImage(iconColor){
if((typeof(iconColor)=“未定义”)| |(iconColor==null)){
iconColor=“红色”;
}
如果(!图标[iconColor]){
icons[iconColor]=新的google.maps.MarkerImage(“'.JURI::root().“plugins/k2/swmap/”.$color./“+iconColor+”,
新google.maps.Size(32,32),
新google.maps.Point(0,0),
新的google.maps.Point(0,32));
}
返回图标[iconColor];
}
var iconImage=new google.maps.MarkerImage(\''.JURI::root().'plugins/k2/swmap/'.$color'./landmark.png\',
新google.maps.Size(32,32),
新google.maps.Point(0,0),
新的google.maps.Point(0,32));
var infowindow=new google.maps.infowindow(
{
尺寸:新谷歌地图尺寸(150,50)
});
函数createMarker(地图、板条、标签、链接、html、颜色){
var contentString=\'\'+link+\'
\'+html; var marker=new google.maps.marker({ 位置:latlng, 地图:地图, 图标:getMarkerImage(彩色), 标题:标签, zIndex:Math.round(latlng.lat()*-100000)参见

最佳做法是存储不变位置的坐标,并使用它们显示标记。使用客户端地理编码器仅对用户输入的信息进行地理编码。

请参阅


最佳做法是存储不变位置的坐标并使用它们来显示标记。使用客户端地理编码器仅对用户输入的信息进行地理编码。

听起来像是由于配额或速率限制而导致动态地理编码失败的问题。您如何填充数据?是否对其进行地理编码每次加载页面时服务器端?是的,我加载了。问题似乎确实是谷歌对地理编码的限制。我已经尝试从数据集中传递纬度和经度值,这样就不再需要地理编码了。目前似乎有效:)听起来像是由于配额或速率限制而导致动态地理编码失败的问题。您是如何填充数据的?是否每次加载页面时都在服务器端对其进行地理编码?是的,我这样做了。问题似乎确实是谷歌对地理编码的限制。我尝试从数据集中传递纬度和经度值,以便进行地理编码不再需要了。现在似乎有效:)