سؤال

كيفية عرض خريطة Yahoo Static في GridView إذا تم نقل العنوان كسلسلة استعلام؟ يرجى أيضًا معرفة كيفية عرض خرائط ياهو الديناميكية أيضًا. لقد بحثت عن خرائط ياهو وحصلت على الروابط التالية http://developer.yahoo.com/flash/maps/examples.html, http://developer.yahoo.com/maps/rest/v1/ و http://developer.yahoo.com/maps/. لم أحصل على أي رابط يحتوي على رمز لدمج خريطة Yahoo في موقع ASP.NET!

هل كانت مفيدة؟

المحلول

لقد قمت بإنشاء خريطة Yahoo Dynamic ، يمكن تمرير العنوان كقيمة لحقل مخفي موجود في الصفحة. يمكن تمرير قيمة الحقل المخفي ديناميكيًا في حدث page_load. لقد أنشأت هذا في صفحة الطفل المغطاة بواسطة الصفحة الرئيسية في ASP.NET.

قبل البدء ، يتعين على المستخدم إنشاء معرف التطبيق لاستخدام خرائط Yahoo عن طريق تسجيل الدخول إلى معرف Yahoo والتنقل إلى هذا الرابط https://login.yahoo.com/config/login_verify2؟ وتوفير عنوان URL الخاص بنا.

يرد أدناه رمز عرض خريطة ياهو:

.map {الارتفاع: 400px ؛ العرض: 700 بكسل ؛ Font-Family: 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>

ملاحظة: الحد من الأسعار: ياهو! يقتصر AJAX Maps API على 50000 استعلامات لكل IP يوميًا. تحقق من هذا الرابطhttp://developer.yahoo.com/search/rate.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top