Рассчитать уровень масштабирования на контроле карт Google в C # - PullRequest
1 голос
/ 05 июля 2011

Я использую GoogleMap Control есть коллекция маркеров с географическими местоположениями. Я могу рассчитать минимальную и максимальную длину лата и найти центральную точку, в которой нужно центрировать карту, но мне также нужно вычислить уровень масштабирования программно. Кто-нибудь как это сделать?

Ответы [ 2 ]

1 голос
/ 06 июля 2011

Если вы используете v3, просто

var bounds = new google.maps.LatLngBounds();

затем увеличьте границы для каждого маркера:

bounds.extend(myLatLng);

и используйте это для автоматического позиционирования и масштабирования

map.fitBounds(bounds);
0 голосов
/ 19 июля 2011

Обнаружено на странице проблемы сайта проекта GoogleMap Control.Вы должны ввести Javascript, чтобы сделать это.

    // Set the map to call zoomMap javascriptFunction
    GoogleMap.OnClientMapLoad = "zoomMap";

    // build zoomMap javascript function. I already know what my bounds are
    StringBuilder script = new StringBuilder();
    script.AppendFormat("<script>").AppendLine();
    script.Append("function zoomMap() {").AppendLine();
    script.AppendFormat("var sw = new GLatLng({0}, {1});", minLat, minLong).AppendLine();
    script.AppendFormat("var ne = new GLatLng({0}, {1});", maxLat, maxLong).AppendLine();
    script.AppendFormat("var bounds = new GLatLngBounds(sw, ne);").AppendLine();
    script.AppendFormat("var zoomLevel = GoogleMap.GMap.getBoundsZoomLevel(bounds);").AppendLine();
    script.AppendFormat("GoogleMap.GMap.setZoom(zoomLevel);", GoogleMap.ClientID).AppendLine();
    script.Append("}").AppendLine();
    script.AppendFormat("</script>").AppendLine();

    Page.RegisterClientScriptBlock("map", script.ToString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...