كيفية دمج خريطة Yahoo في موقع ASP.NET
-
27-09-2019 - |
سؤال
كيفية عرض خريطة 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