Javascript MarkerCluster谷歌地图未对我的标记进行分组
首先,我用JSON//Work获得站点的位置 JSON结构:Javascript MarkerCluster谷歌地图未对我的标记进行分组,javascript,google-maps,google-maps-api-3,google-maps-markers,markerclusterer,Javascript,Google Maps,Google Maps Api 3,Google Maps Markers,Markerclusterer,首先,我用JSON//Work获得站点的位置 JSON结构: [{"number":31705,"name":"31705 - CHAMPEAUX (BAGNOLET)","address":"RUE DES CHAMPEAUX (PRES DE LA GARE ROUTIERE) - 93170 BAGNOLET","position":{"lat":48.8645278209514,"lng":2.416170724425901},"banking":true,"bonus":true,"s
[{"number":31705,"name":"31705 - CHAMPEAUX (BAGNOLET)","address":"RUE DES CHAMPEAUX (PRES DE LA GARE ROUTIERE) - 93170 BAGNOLET","position":{"lat":48.8645278209514,"lng":2.416170724425901},"banking":true,"bonus":true,"status":"OPEN","contrat _name":"Paris","bike_stands":50,"available_bike_stands":45,"available_bikes":5,"last_update":1416677110000}]
第二,我希望使用MarkerCluster对marker进行分组,但MarkerCluster位于我的所有marker中为什么不是分组
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(48.859875, 2.342253),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP,
disableDefaultUI: true
};
var infoWindow = new google.maps.InfoWindow();
var mcOptions = {gridSize: 50, maxZoom: 15, minimumClusterSize:10}
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
$.getJSON("https://api.jcdecaux.com/vls/v1/stations?contract=Paris&apiKey=d98a9b59f1d1999cf1ab909051cc63bd46c66a46", function (data) {
$.each(data, function (key, data) {
var markers = [];
for (var i = 0, length = data.address.length; i < length; i++) {
var myLatlng = new google.maps.LatLng(data.position.lat, data.position.lng);
var marker = new google.maps.Marker({
position: myLatlng
});
markers.push(marker);
}
var markerCluster = new MarkerClusterer(map, markers, mcOptions);
});
});
google.maps.event.addDomListener(window, 'load', initialize);
}
函数初始化(){
变量映射选项={
中心:新google.maps.LatLng(48.859875,2.342253),
缩放:13,
mapTypeId:google.maps.mapTypeId.ROADMAP,
disableDefaultUI:true
};
var infoWindow=new google.maps.infoWindow();
var mcOptions={gridSize:50,maxZoom:15,minimumClusterSize:10}
map=new google.maps.map(document.getElementById(“map_canvas”),mapOptions);
$.getJSON(“https://api.jcdecaux.com/vls/v1/stations?contract=Paris&apiKey=d98a9b59f1d1999cf1ab909051cc63bd46c66a46,函数(数据){
$。每个(数据、功能(键、数据){
var标记=[];
for(变量i=0,长度=data.address.length;i
您正在为每个标记创建一个新的MarkerClusterer(如果缩进代码,则更容易查看)
- 将MarkerCluster的创建从$each中移出
- 移动
google.maps.event.addDomListener(窗口,'load',initialize)代码>退出初始化函数
- 删除data.address.length上的内部循环(除非数据需要,否则不要查看所有数据)
(使用修改后的数据子集)请在问题中提供JSON格式的示例。我们现在应该更好地理解了
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(48.859875, 2.342253),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP,
disableDefaultUI: true
};
var infoWindow = new google.maps.InfoWindow();
var mcOptions = {
gridSize: 50,
maxZoom: 15,
minimumClusterSize: 10
};
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
$.getJSON("https://api.jcdecaux.com/vls/v1/stations?contract=Paris&apiKey=d98a9b59f1d1999cf1ab909051cc63bd46c66a46", function (data) {
$.each(data, function (key, data) {
var myLatlng = new google.maps.LatLng(data.position.lat, data.position.lng);
var marker = new google.maps.Marker({
position: myLatlng
});
markers.push(marker);
});
var markerCluster = new MarkerClusterer(map, markers, mcOptions);
});
}
google.maps.event.addDomListener(window, 'load', initialize);