Как динамически обновлять Bing Maps или Google Maps, в зависимости от предоставленного ему адреса - PullRequest
0 голосов
/ 25 марта 2012

В проекте, который я строю, я хочу, чтобы пользователь мог выбрать адрес, который хранится в базе данных, а затем щелкнуть по этому адресу для просмотра дополнительной информации.Когда пользователь нажимает на ссылку, он переходит на другую страницу, на которой будет отображаться дополнительная информация, а также карта адреса.

Я хочу получить карту для динамического определения адреса.вместо использования предварительно определенной ссылки для встраивания.Но я не совсем уверен, что то, что я хочу сделать, можно сделать, и если это можно сделать, я не знаю, как это сделать.

Так что, по сути, я хочу знать, как я могу это сделатьадрес из базы данных и передать его на встроенную карту в моем проекте?

Для меня не имеет значения, используется ли Bing или Google.

Приветствия!

Ответы [ 2 ]

1 голос
/ 26 марта 2012

Да, то, что вы хотите, может быть легко сделано. И Карты Bing , и Карты Google предлагают услуги геокодирования, в которых вы предоставляете службе адрес, а службы возвращаются как часть его результатов по долготе и координате широты адреса на карте. Я мог бы вставить здесь код, но вы можете найти весь пример кода, который вам нужен для обеих карт, в моих ссылках выше.

Когда пользователь нажимает на вашу адресную ссылку, вы переходите на страницу с подробной информацией. На этой странице у вас будет JavaScript для настройки вашей карты. В дополнение к настройке javascript вашей карты, вам потребуется больше javascript, подробно описанного в ссылках выше, для вызова сервисов геолокации. По сути, вы передаете сервисам адрес, который хотите найти, и, если адрес действителен, сервис вернет вам координаты долготы и широты этого адреса. Используя эту информацию, вы затем можете приблизиться к этому месту на карте и, при желании, поставить туда метку, чтобы указать адрес.

См. Здесь пример в картах Google.

Интерактивный SDK Bing Maps Нажмите Службы REST -> Найти местоположение по запросу.

Я предполагаю, что вас интересует ajax-версия элементов управления картой, но другие версии должны быть очень похожими и работать более или менее одинаково.

0 голосов
/ 26 марта 2012

Вы всегда можете сделать что-то вроде этого:

<div id="location"></div>

<script type="text/javascript">
    function initialize() {
        var gpLatlng = new google.maps.LatLng(latitude, longitude);
        var gpOptions = {
            zoom: 15,
            center: gpLatlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        var map = new google.maps.Map(document.getElementById("location"), gpOptions);

        var marker = new google.maps.Marker({
            position: gpLatlng, 
            map: map, 
            title:"Title"
        });
    }

    function loadScript() {
        var script = document.createElement("script");
        script.type = "text/javascript";
        script.src = "http://maps.google.com/maps/api/js?sensor=false&callback=initialize&region=GB";
        document.body.appendChild(script);
    }

    window.onload = loadScript;
</script>
...