将一个占位符的经度和纬度存储到数组中
Store the longtitude and the latitude of a placemark into array
因此,我正在使用Google Earth API开发一个网页,在该网页上,一辆班车在镇上来回运送乘客。PASSENGERS是一个预定义的对象数组,由于长度的原因,它是一个单独的javascript文件。这是我为函数populate
编写的代码,它用占位符填充3D地图:
function populate()
{
// mark houses
for (var house in HOUSES)
{
// plant house on map
new google.maps.Marker({
icon: "https://google-maps-icons.googlecode.com/files/home.png",
map: map,
position: new google.maps.LatLng(HOUSES[house].lat, HOUSES[house].lng),
title: house
});
}
// get current URL, sans any filename
var url = window.location.href.substring(0, (window.location.href.lastIndexOf("/")) + 1);
// scatter passengers
for (var i = 0; i < PASSENGERS.length; i++)
{
// pick a random building
var building = BUILDINGS[Math.floor(Math.random() * BUILDINGS.length)];
// prepare placemark
var placemark = earth.createPlacemark("");
placemark.setName(PASSENGERS[i].name + " to " + PASSENGERS[i].house);
// prepare icon
var icon = earth.createIcon("");
icon.setHref(url + "/img/" + PASSENGERS[i].username + ".jpg");
// prepare style
var style = earth.createStyle("");
style.getIconStyle().setIcon(icon);
style.getIconStyle().setScale(4.0);
// prepare stylemap
var styleMap = earth.createStyleMap("");
styleMap.setNormalStyle(style);
styleMap.setHighlightStyle(style);
// associate stylemap with placemark
placemark.setStyleSelector(styleMap);
// prepare point
var point = earth.createPoint("");
point.setAltitudeMode(earth.ALTITUDE_RELATIVE_TO_GROUND);
point.setLatitude(building.lat);
point.setLongitude(building.lng);
point.setAltitude(0.0);
// associate placemark with point
placemark.setGeometry(point);
// add placemark to Earth
earth.getFeatures().appendChild(placemark);
// add marker to map
var marker = new google.maps.Marker({
icon: "https://maps.gstatic.com/intl/en_us/mapfiles/ms/micons/man.png",
map: map,
position: new google.maps.LatLng(building.lat, building.lng),
title: PASSENGERS[i].name + " at " + building.name
});
//remember passenger's placemark and marker for pick-up's sake
PASSENGERS[i].lat = placemark.getGeometry.getLatitude();
PASSENGERS[i].lng = placemark.getGeometry.getLongtitude();
}
}
但是,当我加载页面时,我从控制台收到以下错误:关于最后两行代码的Uncaught TypeError: undefined is not a function
:PASSENGERS[i].lat = placemark.getGeometry.getLatitude();
PASSENGERS[i].lng = placemark.getGeometry.getLongtitude()
你知道我怎样才能正确地得到纬度和lng吗?提前谢谢。
正如其他人所说,getGeometry
是一个方法,需要括号()
才能执行。
此外,在代码中,您可以只使用building.lat
和building.lng
,因为这些属性最初用于设置占位符的几何图形。
实际上,调用更多的方法,getGeometry().getLatitude(),以获得您已经拥有的值是毫无意义的。
那个人在大楼里,不是吗?
例如
PASSENGERS[i].lat = building.lat;
PASSENGERS[i].lng = building.lng;
尝试
PASSENGERS[i].lat=占位符.getGeometry().getLatitude();
PASSENGERS[i].lng=占位符.getGeometry().getLongtitude();
相关文章:
- 将作用域存储在JSON中
- 使用javascript存储变量的最安全方式
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 如何有效地将游戏数据存储在URL查询字符串中
- Ember.js-接口状态应该存储在哪里
- 如何解雇“;铁局部存储负载”;事件
- 本地存储中的字符串到字节数组转换
- 从jQuery调用存储在Variable中的函数
- 推荐在JavaScript中执行存储为字符串的函数,而不是使用eval
- “可绘制地图”设置地图选项“纬度-经度”
- 通过另一个php应用程序将我的项目推送到Github存储库中
- 将数据存储在javascript数组中以供进一步使用
- 在页面卸载时写入HTML5 FileSystem API存储
- 如何用javascript获取谷歌地图的经度和纬度
- 加载存储在IndexedDB中的HTML页面
- 在字符串中查找所有图像 src URL 并存储在数组中
- 如何从Ti.Geolocation.getCurrentPosition访问/存储纬度和经度
- 将一个占位符的经度和纬度存储到数组中
- 我正在尝试将纬度和经度保存到猫鼬模型,但我无法存储它们