早上好,我有以下坐标:
-90.833910,13.994037 -90.833918,13.994095 -90.833924,13.994152 -90.833930,13.994207 -90.833936,13.994263 -90.833943,13.994322 -90.833951,13.994382 -90.833959,13.994440 -90.833965,13.994494 -90.833971,13.994548 -90.833978,13.994608 -90.833984,13.994671 -90.833993 ,13.994741 -90.834001,13.994811 -90.834010,13.994877 -90.834019,13.994940 -90.834028,13.995003 -90.834036,13.995060 -90.834044,13.995110 -90.834052,13.995162 -90.834061,13.995222 -90.834067,13.995281 -90.834074,13.995336 -90.834080,13.995390 -90.834086,13.995442 -90.834092,13.995495 -90.834100,13.995553 -90.834105,13.995610 -90.834110,13.995665 -90.834116,13.995718 -90.834122,13.995769 -90.834127,13.995820 -90.834134,13.995871 -90.834141,13.995924 -90.834146,13.995974 -90.834149,13.996008 -90.834192,13.996161 -90.834732 .13.996091 -90.835519.13.995989 -90.836038.13.995931 -90.836696.13。995846 -90.836677,13.995819 -90.836660,13.995674 -90.836610,13.995123 -90.836480,13.994146 -90.836461,13.994126 -90.836370,13.994036 -90.836287,13.994044 -90.836194,13.994035 -90.836012,13.993789 -90.836003,13.993753 -90.835995,13.993581 -90.836245,13.993529 - 90.836375,13.993521 -90.836386,13.993516 -90.836394,13.993512 -90.836394,13.993503 -90.836395,13.993404 -90.836309,13.992635 -90.836266,13.992318 -90.836207,13.991926 -90.836192,13.991927 -90.836170,13.991932 -90.836125,13.991938 -90.836074,13.991943 -90.836010, 13.991951 -90.835936,13.991961 -90.835862,13.991968 -90.835791,13.991976 -90.835722,13.991980 -90.835658,13.991985 -90.835597,13.991994 -90.835533,13.992003 -90.835471,13.992011 -90.835408,13.992018 -90.835346,13.992025 -90.835285,13.992033 -90.835228,13.992040 - 90.835173,13.992045 -90.835118,13.992051 -90.835062,13.992057 -90.835002,13.992063 -90.834936,13.992071 -90.834868,13.992078 -90.834800,13.992086 -90.834733,13.992094 -90.834663,13.992102 -90.834588,13.992111 -90.834523,13.992120 -90.834474,13.992123 -90.834421,13.992129 -90.834361,13.992133 -90.834298,13.992140 -90.834229,13.992149 - 90.834160,13.992161 -90.834092,13.992171 -90.834022,13.992180 -90.833954,13.992185 -90.833889,13.992191 -90.833824,13.992198 -90.833761,13.992205 -90.833709,13.992212 -90.833680,13.992216 -90.833683,13.992242 -90.833693,13.992300 -90.833704,13.992370 -90.833712, 13.992445 -90.833720,13.992518 -90.833727,13.992591 -90.833736,13.992661 -90.833745,13.992730 -90.833755,13.992795 -90.833764,13.992855 -90.833772,13.992913 -90.833779,13.992971 -90.833786,13.993033 -90.833792,13.993092 -90.833799,13.993149 -90.833807,13.993202 - 90.833815,13.993251 -90.833823,13.993302 -90.833830,13.993358 -90。833837,13.993410 -90.833843,13.993462 -90.833849,13.993518 -90.833857,13.993579 -90.833864,13.993641 -90.833870,13.993700 -90.833876,13.993760 -90.833881,13.993817 -90.833887,13.993871 -90.833894,13.993927 -90.833902,13.993982 -90.833910,13.994037
这些坐
var triangleCoords = [
{lat: 25.774, lng: -80.190},
{lat: 18.466, lng: -66.118},
{lat: 32.321, lng: -64.757}
];
另外,如果可能的话,如何根据该组坐标获得中心坐标?
非常感谢您的帮助。
在 Marcos 的帮助下,我能够创建多边形。XD
我有这样的代码:
function errores(msg) {
alert('Error: ' + msg.responseText);
}
var bmap;
function initMaps(flag) {
if (flag == 1) {
var myLatLng = { lat: 13.84392970, lng: -90.25855230 };
var bmap = new google.maps.Map(document.getElementById('bmap'), {
zoom: 14,
center: myLatLng,
mapTypeId: 'satellite'
});
var bounds = new google.maps.LatLngBounds();
function addMarker(feature, finca, coordenadas) {
//inicia crear poligono
var coords = coordenadas.split(' ') // Separamos por espacio
.map(function (data) {
var info = data.split(','), // Separamos por coma
coord = { // Creamos el obj de coordenada
lat: parseFloat(info[1]),
lng: parseFloat(info[0])
};
// Agregamos la coordenada al bounds
bounds.extend(coord);
return coord;
});
var area = new google.maps.Polygon({
paths: coords,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 3,
fillColor: '#BBDEFB',
fillOpacity: 0.35
});
area.setMap(bmap); // agrega el poligono al mapa
// finaliza crear poligono
var markers = new google.maps.Marker({
position: bounds.getCenter(),
map: bmap,
title: 'Finca: ' + finca
});
//inicia infowindow
// Add a listener for the click event.
area.addListener('click', showArrays);
var infoWindow = new google.maps.InfoWindow;
// finaliza infowindow
//------------------------------------
function showArrays(event) {
// Since this polygon has only one path, we can call getPath() to return the
// MVCArray of LatLngs.
var vertices = this.getPath();
var contentString = '<b>Bermuda Triangle polygon</b><br>' +
'Clicked location: <br>' + event.latLng.lat() + ',' + event.latLng.lng() +
'<br>';
// Iterate over the vertices.
for (var i = 0; i < vertices.getLength(); i++) {
var xy = vertices.getAt(i);
contentString += '<br>' + 'Coordinate ' + i + ':<br>' + xy.lat() + ',' +
xy.lng();
}
// Replace the info window's content and position.
infoWindow.setContent(contentString);
infoWindow.setPosition(event.latLng);
infoWindow.open(bmap);
}
//------------------------------------
bmap.fitBounds(bounds); // ajusta el mapa a la cantidad de marcadores
// //finaliza crear marcador
} // finaliza addMarker
var FechaInicial = $('#<%= txtFechaInicial.ClientID %>').val();
var FechaFinal = $('#<%= txtFechaFinal.ClientID %>').val();
var Finca = $('#<%= CboFincass.ClientID %>').val();
$.ajax({
type: "POST",
url: "FrmKmlFincas.aspx\/FillMapas",
data: '{FechaInicial: "' + FechaInicial + '", FechaFinal: "' + FechaFinal + '", Finca: "' + Finca + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
var data = JSON.parse(msg.d);
marcadores = [];
finca = [];
coordenadas = [];
$.each(data, function (i, item) {
marcadores[i] = new google.maps.LatLng(item.Latitud, item.Longitud);
finca[i] = item.Finca;
coordenadas[i] = item.Coordenadas;
addMarker(marcadores[i], finca[i], coordenadas[i]); //enviar finca,descricion, etc
});
},
error: errores
});
} else {
// alert("1");
var myLatLng = { lat: 14.151171, lng: -90.841083 };
var bmap = new google.maps.Map(document.getElementById('bmap'), {
zoom: 14,
center: myLatLng,
mapTypeId: 'satellite'
});
var marker = new google.maps.Marker({
position: myLatLng,
map: bmap,
title: 'Hello World!'
});
}
}
我遇到的问题是创建的第一个标记相对于多边形居中,但从第二个开始不再是。我不知道我是否应该清理一些变量。非常感谢您的帮助。
答案是否定的。有必要对它们进行处理并将它们转换为格式
LatLngLiteral
或LatLng
. 这很简单,我们只需要:用空格隔开
cadena
:对于获得的每个值,用逗号分隔并创建
LatLngLiteral
瞧,我们已经处理了坐标列表。
我们可以做的是创建一个
LatLngBounds
并在处理坐标时将它们添加到其中。然后我们向地图指示我们要将其居中于
bounds
节目