Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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
Google maps 使用loadGeoJson加载点数据时,如何访问lng/lat?_Google Maps_Markerclusterer - Fatal编程技术网

Google maps 使用loadGeoJson加载点数据时,如何访问lng/lat?

Google maps 使用loadGeoJson加载点数据时,如何访问lng/lat?,google-maps,markerclusterer,Google Maps,Markerclusterer,我用GoogleMapLoadGeoJSON加载了n个位置数据,除了数据本身不是很好外,其他一切都很正常。通常gps坐标会在同一位置放置一个标记,这会破坏标记聚类。作为一个实验,我决定给每个标记添加一点抖动,这不会对位置产生太大的影响,但允许标记聚类器来做 问题是我无法访问gps数据,也不知道如何访问,我查看了谷歌的API文档,但没有运气 在设置为标记之前,如何访问gps数据并对其进行更改 部分代码 map.data.loadGeoJson('mapdata.json, null,

我用GoogleMapLoadGeoJSON加载了n个位置数据,除了数据本身不是很好外,其他一切都很正常。通常gps坐标会在同一位置放置一个标记,这会破坏标记聚类。作为一个实验,我决定给每个标记添加一点抖动,这不会对位置产生太大的影响,但允许标记聚类器来做

问题是我无法访问gps数据,也不知道如何访问,我查看了谷歌的API文档,但没有运气

在设置为标记之前,如何访问gps数据并对其进行更改

部分代码

      map.data.loadGeoJson('mapdata.json, null, function (features) {

        var bounds = new google.maps.LatLngBounds();
        markers = features.map(function (feature) {

          var markerJitter = feature.getGeometry().get(0); //tried to access data here
          var test = markerJitter.lat; this fails too as [[scope]] is in place

          var infoWin = new google.maps.InfoWindow();
          var marker = new google.maps.Marker({
            position: feature.getGeometry().get(0),   //jitter should be present here
            title: feature.getProperty("address")
          });

          bounds.extend(marker.position);

          google.maps.event.addListener(marker, 'click', function (evt) {
            closeOtherInfo();
            infoWin.setContent('<div id="content">some content</div>');
            infoWin.open(map, marker);
            infoWindowObj[0] = infoWin;
          })
          return marker;
        }); 

        .... //code continues and works
map.data.loadGeoJson('mapdata.json,null,函数(功能){
var bounds=new google.maps.LatLngBounds();
标记=要素。映射(函数(要素){
var markerJitter=feature.getGeometry().get(0);//试图在此处访问数据
var test=markerJitter.lat;这也会失败,因为[[scope]]已就位
var infoWin=new google.maps.InfoWindow();
var marker=new google.maps.marker({
位置:feature.getGeometry().get(0),//此处应存在抖动
标题:feature.getProperty(“地址”)
});
扩展(标记位置);
google.maps.event.addListener(标记,'click',函数(evt){
closeOtherInfo();
infoWin.setContent('some content');
打开(地图、标记);
infoWindowObj[0]=infoWin;
})
返回标记;
}); 
....//代码继续运行

您正在访问包含坐标的对象(即
markerJitter

它没有.lat属性,它有一个
.lat()
函数

我不确定你的评论是什么
这也失败了,因为[[scope]]已经就位了
的意思

这是一个函数。您的代码将测试设置为等于一个函数,这可能不是您想要做的

代码片段:

函数初始化(){
//创建一个简单的地图。
特征=[];
map=new google.maps.map(document.getElementById('map-canvas'){
缩放:10,
中心:{
拉脱维亚:45.495403,
液化天然气:-73.563032
}
});
google.maps.event.addListener(映射,'click',函数(){
infowidow.close();
});
//处理加载的GeoJSON数据。
//google.maps.event.addListener(map.data,'addfeature',/);
var features=map.data.addGeoJson(数据);
map.data.setMap(空);
var bounds=new google.maps.LatLngBounds();
标记=要素。映射(函数(要素){
var markerJitter=feature.getGeometry().get(0);//试图在此处访问数据
console.log(markerJitter.toUrlValue(6));
var test=markerJitter.lat;//这也会失败,因为[[scope]]已经就位
log(“markerJitter lat=“+markerJitter.lat()+”lng=“+markerJitter.lng());
var infoWin=new google.maps.InfoWindow();
var marker=new google.maps.marker({
位置:feature.getGeometry().get(0),//此处应存在抖动
标题:feature.getProperty(“地址”),
地图:地图
});
扩展(标记位置);
google.maps.event.addListener(标记,'click',函数(evt){
infoWin.setContent('some content
'+this.getTitle()+''); 打开(地图、标记); infoWindowObj[0]=infoWin; }) 返回标记; }); } google.maps.event.addDomListener(窗口“加载”,初始化); 风险值数据={ “类型”:“FeatureCollection”, “特点”: [ { “类型”:“功能”, “几何学”:{ “类型”:“点”, “坐标”:[-73.563032,45.495403] }, “财产”:{ “prop0”:“value0”, “地址”:“45.495403,-73.563032” } }, { “类型”:“功能”, “几何学”:{ “类型”:“点”, “坐标”:[-73.549762,45.559673] }, “财产”:{ “prop0”:“value0”, “地址”:“45.559673,-73.549762” } } ] };
html,
身体
#地图画布{
身高:100%;
边际:0px;
填充:0px;
宽度:100%;
}