当我绘制几何体时,我想在谷歌地图上的geojson图层边界的中心边界和网站内添加几何标签。
map.data.addListener("addfeature", function(feature){
var g=feature.getGeometry();
console.log("test ok");
//var bounds = new google.maps.LatLngBounds();
console.log(g.get());
return feature;
});
我根据google开发参考(https://developers.google.com/maps/documentation/javascript/reference#Data)添加了一个带有监听器addfeature的map.data
根据页面(https://developers.google.com/maps/documentation/javascript/reference#Data.AddFeatureEvent),带有争论的函数追赶addfeature监听器应该是特征对象。
根据要素类页面(https://developers.google.com/maps/documentation/javascript/reference#Data.Feature),要素对象应具有方法getGeometry()。
但是当我执行上面的代码时,我从浏览器中收到错误。
Uncaught TypeError: feature.getGeometry is not a function
at He.<anonymous> (bakb.html:37)
at qe._.y.trigger (js?sensor=true&callback=myMap:104)
at qe.<anonymous> (js?sensor=true&callback=myMap:38)
at Object._.y.trigger (js?sensor=true&callback=myMap:104)
at qe._.k.add (js?sensor=true&callback=myMap:116)
at js?sensor=true&callback=myMap:69
at Object._.ab (js?sensor=true&callback=myMap:35)
at Object._.re (js?sensor=true&callback=myMap:69)
at Ub (data.js:11)
at OF (util.js:136)
我通过以下方式调用google map apis:
<script src="//maps.google.com/maps/api/js?sensor=true&callback=myMap></script>
我想我正确使用谷歌地图。 但为什么没有定义feature.getGeometry方法? 如何从功能中获取几何图形?并且回调函数中的特征争论是否真的是特征对象?如果不是如何从争论中获得几何学?
答案 0 :(得分:1)
addfeature
事件侦听器返回addFeatureEvent
object,它具有要素属性,它本身不是要素。
Data.AddFeatureEvent对象规范
google.maps.Data.AddFeatureEvent对象规范
addfeature事件的属性。<强>属性强> 功能 |类型:Data.Feature
添加到FeatureCollection的功能。
map.data.addListener("addfeature", function(event) {
var g = event.feature.getGeometry();
console.log("test ok");
//var bounds = new google.maps.LatLngBounds();
// assuming all the features are points
console.log(g.get());
});