c# Cómo convertir latitud y longitud al plano xy en el mapa ampliado

Tengo un mapa que no es el mapa de GOOGLE en un control picturebox. Sé el ancho y el alto del mapa. Y sé que la latitud y la longitud de los bordes de la imagen del mapa. La imagen del mapa sólo muestra el área pequeña(algunos edificios y calles) no a todo el MUNDO. Lo que quiero hacer es obtener xy-coordenadas de la imagen del mapa si tengo lat y lon de algún punto. El punto no será fuera de la imagen del mapa.

Brevemente, la tarea principal sería la conversión del lat y lon de coordenadas xy, si sé que los bordes lat y lon.

1 Respuestas

  • RajmondX
    4 de mayo de 2019
    // The mapping between latitude, longitude and pixels is defined by the web
    // mercator projection.
    function project(latLng) {
       var siny = Math.sin(latLng.lat() * Math.PI / 180);
    
       // Truncating to 0.9999 effectively limits latitude to 89.189. This is
       // about a third of a tile past the edge of the world tile.
       siny = Math.min(Math.max(siny, -0.9999), 0.9999);
    
       return new google.maps.Point(
          TILE_SIZE * (0.5 + latLng.lng() / 360),
          TILE_SIZE * (0.5 - Math.log((1 + siny) / (1 - siny)) / (4 * Math.PI)));
    }
    

    de https://developers.google.com/maps/documentation/javascript/examples/map-coordinates?csw=1