
26/04/2010, 09:44
|
| | Fecha de Ingreso: abril-2010
Mensajes: 2
Antigüedad: 14 años, 10 meses Puntos: 0 | |
Respuesta: Circulos en API google Maps Saludos de nuevo,
La solución que le pude dar es la siguiente tomando como base el ultimo código que dejo RhOsS espero les sea útil.
El problema que yo veo es que el cálculo está pensado en pixeles no en Latitud Longitud por lo tanto las coordenadas se deben convertir primero a con esta función G_NORMAL_MAP.getProjection().fromLatLngToPixel(pol yPixel,8);
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=utf-8"/>
<title>Mapa de Google</title>
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAUnJY3ChJhF0Y gyTSDJuVfBTqu-zEVMNfNVaqfAe9FKyfKhfBExSs9LrIQ7GOuBeSnaddg05sRmEB xQ" type="text/javascript"></script>
<script src="markermanager.js">
</script>
<script type="text/javascript">
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.addControl(new GOverviewMapControl());
map.setCenter(new GLatLng(37.352692,-4.746093), 8);
var point = new GLatLng(37.352692,-4.746093);
var miMarca = new GMarker(point);
map.addOverlay(miMarca);
var lastPointx = 37.352692;
var lastPointy = -4.746093;
var polyPixel = new GLatLng(lastPointx, lastPointy);
var polyPoint = G_NORMAL_MAP.getProjection().fromLatLngToPixel(pol yPixel,8);
var lastPointx = polyPoint.x;
var lastPointy = polyPoint.y;
var polySmallRadius = 200;
var polyNumSides = 20;
var polySideLength = 18;
var polyPoints = new Array();
var aPolygons = new Array();
for (var a=0;a<21;a++)
{
var aRad = polySideLength*a*(3.141516/180);
var polyRadius = polySmallRadius;
var pixelX = lastPointx + polyRadius*Math.cos(aRad);
var pixelY = lastPointy + polyRadius*Math.sin(aRad);
var polyPixel = new GPoint(pixelX, pixelY);
var polyPoint = G_NORMAL_MAP.getProjection().fromPixelToLatLng(pol yPixel,8);
polyPoints.push(polyPoint);
}
var polygon = new GPolygon(polyPoints, "#FF0000", 1, 1, "#FF0000",0.1);
aPolygons.push(polygon);
map.addOverlay(polygon);
}
}
window.onload=load
//]]>
</script>
<style type="text/css">
html,body{
margin:0px;
height:100%;
padding:0;
font-family: verdana, arial, helvetica, sans-serif;
font-size:7pt;
}
#map{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
#enlaces{
font-size: 12pt;
margin-top: 10px;
font-weight: bold;
}
#enlaces li{
margin-bottom: 8px;
}
#pie{
clear: both;
padding: 10px;
}
</style>
</head>
<body>
<div id="map" ></div>
</body>
</html> |