كيف يمكنني التحويل من سلسلة الموقع (العنوان) إلى YGeoPoint في Yahoo Maps API؟

StackOverflow https://stackoverflow.com/questions/73524

  •  09-06-2019
  •  | 
  •  

سؤال

لدي قائمة بالعناوين من قاعدة البيانات التي أرغب في وضع علامات عليها على خريطة Yahoo.ال addMarker() طريقة على YMap يأخذ YGeoPoint، الأمر الذي يتطلب خط الطول والعرض.ومع ذلك، يجب أن تعرف خرائط Yahoo كيفية التحويل من العناوين لأنها drawZoomAndCenter(LocationType,ZoomLevel) يمكن أن تأخذ عنوانا.يمكنني التحويل باستخدام drawZoomAndCenter() ثم getCenterLatLon() ولكن هل هناك طريقة أفضل لا تتطلب التعادل؟

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

المحلول

يمكنك أن تطلب من كائن الخريطة إجراء الترميز الجغرافي، وتلقي رد الاتصال:

<script type="text/javascript"> 
var map = new YMap(document.getElementById('map'));
map.drawZoomAndCenter("Algeria", 17);

map.geoCodeAddress("Cambridge, UK");

YEvent.Capture(map, EventsList.onEndGeoCode, function(geoCode) {
    if (geoCode.success)
        map.addOverlay(new YMarker(geoCode.GeoPoint));
});
</script>

شيء واحد يجب الحذر منه - في هذا المثال drawAndZoom call بنفسها ستقدم طلبًا للترميز الجغرافي، لذا ستتلقى رد الاتصال من ذلك أيضًا.قد ترغب في تصفية ذلك، أو تعيين مركز الخريطة بناءً على GeoPoint.

نصائح أخرى

إذا كنت تعمل مع الولايات المتحدة.عناوين، يمكنك استخدامها Geocoder.us, ، والتي لديها واجهات برمجة التطبيقات.

أيضًا، خرائط جوجل المأجورون لديه اختراق، "هاك 62.العثور على خط الطول وخط العرض لعنوان الشارع", ، من أجل هذا.

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