Как интегрировать карту Yahoo в сайт ASP.Net - PullRequest
0 голосов
/ 04 октября 2010

Как отобразить статическую карту Yahoo в gridview, если мы передаем адрес в виде строки запроса? Также, пожалуйста, расскажите, как отображать динамические карты Yahoo. Я искал карты Yahoo и получил следующие ссылки http://developer.yahoo.com/flash/maps/examples.html, http://developer.yahoo.com/maps/rest/V1/ и http://developer.yahoo.com/maps/. Я не получил ни одной ссылки, которая содержит код для интеграции карты Yahoo на веб-сайт ASP.Net!

1 Ответ

0 голосов
/ 05 октября 2010

Я создал динамическую карту Yahoo, адрес может быть передан как значение скрытого поля, присутствующего на странице. Значение для скрытого поля может быть динамически передано в событии page_load. Я создал это на дочерней странице, инкапсулированной главной страницей в ASP.Net.

Перед началом работы пользователь должен сгенерировать идентификатор приложения для использования карт Yahoo, войдя в свой идентификатор Yahoo и перейдя по этой ссылке https://login.yahoo.com/config/login_verify2?.src=devnet&.done=http://developer.apps.yahoo.com/wsregapp/ и указав URL нашего веб-сайта.

Код для отображения карты Yahoo приведен ниже:

.карта { высота: 400 пикселей; ширина: 700 пикселей; семейство шрифтов: Verdana; Размер шрифта: 11px; начертание шрифта: жирный; }

<script type="text/javascript" src="http://api.maps.yahoo.com/ajaxymap?v=3.8&appid=YourAPPID">  
</script>

<script type="text/javascript">

    // Capture the user mouse-click and expand the SmartWindow
    function onSmartWinEvent() {


        // Create a map object
        var map = new YMap(document.getElementById('<%= map.ClientID %>'));
        // Add a pan control
        map.addPanControl();
        // Add a slider zoom control
        map.addZoomLong();
        // Display the map centered on the address specified          
        map.drawZoomAndCenter(document.getElementById('<%= HiddenField1.ClientID %>').value, 3);
        // Create a marker positioned at the address specified
        var marker = new YMarker(document.getElementById('<%= HiddenField1.ClientID %>').value, createCustomMarkerImage());
        // Add a label to the marker
        //marker.addLabel("<blink>*</blink>");
        // Call onSmartWinEvent when the user clicks on the marker 
        YEvent.Capture(marker, EventsList.MouseClick, onSmartWinEvent);
        // Display the marker 
        map.addOverlay(marker);


        var words = document.getElementById('<%= HiddenField1.ClientID %>').value;
        marker.openSmartWindow(words);

        // Add map type control   
        map.addTypeControl();
        // Default map to satellite (YAHOO_MAP_REG) -- other opts: YAHOO_MAP_HYB,YAHOO_MAP_SAT
        map.setMapType(YAHOO_MAP_REG);
    }

    function createCustomMarkerImage() {
        var myImage = new YImage();
        myImage.src = 'http://l.yimg.com/www.flickr.com/images/dot_splat.png';
        myImage.size = new YSize(30, 31);
        myImage.offsetSmartWindow = new YCoordPoint(15, 15);
        return myImage;
    }
</script>

<table width="100%" align="left">        
    <tr>
        <td>
            <body onload="onSmartWinEvent()">
                <div id="map" class="map" runat="server">
                </div>
                <asp:HiddenField ID="HiddenField1" runat="server" />
            </body>
        </td>
    </tr>
</table>

ПРИМЕЧАНИЕ: ограничение скорости: Yahoo! AJAX Maps API ограничен 50 000 запросов на IP в день. Проверьте эту ссылку http://developer.yahoo.com/search/rate.html

...