- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这段代码
<!DOCTYPE html>
<html>
<head>
<title>Simple Map</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
html, body, #map-canvas {
margin: 0;
padding: 0;
height: 100%;
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
var map;
function initialize() {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
var polygonCoords = [
new google.maps.LatLng(25.774252, -80.190262),
new google.maps.LatLng(18.466465, -66.118292),
new google.maps.LatLng(32.321384, -64.757370),
new google.maps.LatLng(25.774252, -80.190262)
];
var north = new google.maps.LatLng(), west = new google.maps.LatLng(), east = new google.maps.LatLng(), south = new google.maps.LatLng();
north = polygonCoords[0];
west = polygonCoords[0];
east = polygonCoords[0];
south = polygonCoords[0];
for (i = 1; i < polygonCoords.length; i++) {
if (north.lat < polygonCoords[i].lat) {
north = polygonCoords[i];
}
if (south.lat > polygonCoords[i].lat) {
south = polygonCoords[i];
}
if (west.lng > polygonCoords[i].lng) {
west = polygonCoords[i];
}
if (east.lng < polygonCoords[i].lng) {
east = polygonCoords[i];
}
}
var center = new google.maps.LatLng(0,0);
center.lat = (north.lat + south.lat) / 2;
center.lng = (west.lng + east.lng) / 2;
var num = (north.lat + south.lat) / 2;
console.log(num);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas"></div>
</body>
</html>
为什么num的结果是NaN。我如何在数字中使用 lat、lng?可能重复 here ,我正在尝试使用第一种解决方案,因为第二种解决方案对我不起作用。现在我陷入了这个问题。提前谢谢你。
最佳答案
A google.maps.LatLng object没有记录的 lat 属性(或 lng 属性)。它有一个返回纬度的 .lat() 方法和一个返回经度的 .lng() 方法。
var num = (north.lat() + south.lat())/2;
代码片段:
var map;
function initialize() {
var mapOptions = {
zoom: 5,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
var polygonCoords = [
new google.maps.LatLng(25.774252, -80.190262),
new google.maps.LatLng(18.466465, -66.118292),
new google.maps.LatLng(32.321384, -64.757370),
new google.maps.LatLng(25.774252, -80.190262)
];
var north = new google.maps.LatLng(),
west = new google.maps.LatLng(),
east = new google.maps.LatLng(),
south = new google.maps.LatLng();
north = polygonCoords[0];
west = polygonCoords[0];
east = polygonCoords[0];
south = polygonCoords[0];
for (i = 1; i < polygonCoords.length; i++) {
if (north.lat() < polygonCoords[i].lat()) {
north = polygonCoords[i];
}
if (south.lat() > polygonCoords[i].lat()) {
south = polygonCoords[i];
}
if (west.lng() > polygonCoords[i].lng()) {
west = polygonCoords[i];
}
if (east.lng() < polygonCoords[i].lng()) {
east = polygonCoords[i];
}
}
var center = {};
center.lat = (north.lat() + south.lat()) / 2;
center.lng = (west.lng() + east.lng()) / 2;
var num = (north.lat() + south.lat()) / 2;
console.log(num);
var polygon = new google.maps.Polygon({
path: polygonCoords,
map: map
})
map.setCenter(center);
}
google.maps.event.addDomListener(window, 'load', initialize);
html,
body,
#map-canvas {
margin: 0;
padding: 0;
height: 100%;
}
<script src="https://maps.googleapis.com/maps/api/js?libraries=geometry"></script>
<div id="map-canvas"></div>
关于javascript - 无法使用 google.maps.LatLng 对象的纬度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16748716/
我必须用小工具制作 map ,这些小工具从上一点获得电压。我的数据库中有纬度和经度的记录。我使用自定义图标和 windowInfo 在 map 上存储带有标记的小工具,但我想获取上一个点的纬度和经度,
我的任务是查找两个纬度和经度坐标之间的行驶距离。我在[此处][1]找到了此链接,但是,我不确定我是否正确实现了它,因为我收到了错误...... Invalid float: "" GeocodingL
我一直致力于 Android 中的 Google map 服务。我想知道是否有一个实用方法可以给出 LatLng 的方向关于另一个。 我想知道一个点是否在 南还是北 东方还是西方 或两者的组合,各取其
LATLNG 无法将参数类型“LatLng”分配给参数类型“LatLng” The argument type 'LatLng (where LatLng is defined in E:\flutt
目标 知道一个坐标点是否在另外两个坐标之间。 背景 我正在制作一个谷歌地图应用程序,我需要知道某个点是否在两个 LatLng 点(起点和终点)之间。 我正在寻找如下函数: var currentCoo
在行“Location.distanceBetween(LatLng.latitude, LatLng.longitude, circle.getCenter().latitude,circle.ge
我可以使用什么算法/公式来计算距离另一个 LatLng 点 5 米的 LatLng 点?我正在尝试编写一个带有 2 个 LatLng 参数的函数,并让它返回一个 LatLng,该 LatLng 距离第
使用文档示例,我尝试放大特定点。所以我这样做: var latlng = L.latLng(50.5, 30.5); $scope.map.setZoomAround(latlng); $scope.
我有 2 个列表。 double pointY[]={105.45526,105.57364,105.53505,105.45523,105.51962,105.77320} double point
假设我有一个关联的纬度/经度 + 名称的 HashMap,以及一个相同纬度/经度的单独 ArrayList,这些纬度/经度已按距离我当前位置最近的位置排序。如何将 HashMap 排序为与 Array
我需要查明某些 LatLng 是否在 Google map 圈内(其中之一:http://code.google.com/apis/maps/documentation/javascript/over
我正在尝试在当前位置设置标记,因此我尝试将 Location 转换为 LatLng 类: LatLng mCurrentPlace= new LatLng(location.getLatitude()
我正在 Flutter 中使用 Leaflet 完成我的第一个婴儿步骤,因此欢迎耐心和教程 URL 等。 我能找到的每一段示例代码都给了我这个错误: The method 'LatLng' isn't
因此,我开始在我的小应用程序中建立并运行我的 map ,当我尝试放入相机移动时,我遇到了一些小障碍。编译器似乎根本不喜欢 LatLng 类。它给了我这个。 The method LatLng(doub
我正在从 MainActivity 向名为 MapClass 的类发送 IntentService 调用。 MapClass 有一个名为 MapClassInner 的内部类,它计算用户的当前坐标。但
我创建了一个函数来返回纬度和经度。 问题是 alert('outside:') 在 geocoder.geocode 之前触发。 查看this similar example ,这个功能应该工作。
在我更改包名称之前,一切都在我的设备上正常工作...一旦更改 pkg,相机就不会移动到初始 latlng。此外,标记不会显示。 package com.vaishnavismeclass.divyad
我有List有位置(超过 2000 个位置)。每个位置有 100 米的距离。但是列表太大所以我想根据位置优先级过滤一些位置(比如访问最多的位置、著名位置、实体名称、城市名称或其他) 实际上,当用户移动
我在使用 latlng 变量在 Leaflet map 上创建新圆时遇到问题。 我有一个包含和输入半径的表单和一个包含几个位置的选择框,选项如下所示: Place Name 单击保存按钮时,将运行以下
我想在 touchmove 事件(传单 map )中获取触摸点的 LatLng。我没有找到解决这个问题的方法。有什么方法可以获取坐标吗? $(document).on('touchmove', '#m
我是一名优秀的程序员,十分优秀!