Angular-google-maps: الوصول إلى كائن خرائط google الكامل

تم إنشاؤها على ١٠ مارس ٢٠١٦  ·  8تعليقات  ·  مصدر: SebastianM/angular-google-maps

مرحبًا ، أحب عملك حتى الآن ، لكنني أشعر بالفضول ، هل ستمنح هذه المكتبة الوصول إلى كائن خرائط google بالكامل ، على غرار تطبيق angular1 لخرائط google؟ (انظر هنا: http://angular-ui.github.io/angular-google-maps/#!/api/GoogleMapApi)

يتيح لك الحصول على كائن google.maps إنشاء ، على سبيل المثال ...

كود A1 لإنشاء دايركتريندرريندر و دايركتشين سيرفيس:

            uiGmapGoogleMapApi.then(function(maps) {
                vm.gmaps = maps;
                vm.map.directionsDisplay = new vm.gmaps.DirectionsRenderer();
                vm.map.directionsService = new vm.gmaps.DirectionsService();
            });

أو لإنشاء كائن LatLng جديد:

var latlng = new vm.gmaps.LatLng(lat, lng);

هل هذا سيكون ممكنا مع هذه المكتبة؟

تحرير: أرى أن كائن google متاح عالميًا .. لذا يمكننا عمل var latlng = new google.maps.LatLng (lat، lng)؛ ومع ذلك ، أليس من أهداف المشروع منع كائن google من تلويث مساحة الاسم العالمية؟

تحرير للتحرير: انظر أيضًا الآن يمكننا استخدام واجهة LatLngLiteral ، بحيث تتعامل مع مشكلة واحدة:

import {LatLngLiteral} from 'angular2-google-maps/core';

...

var latlng = <LatLngLiteral>{lat: this.latitude, lng: this.longitude};
this.map.setCenter(latlng);
stale discussion / question

التعليق الأكثر فائدة

إذا كنت أفهم كل شيء هنا بشكل صحيح ، ألن تكون الطريقة الأكثر زاوية للتعامل مع هذا هي الحصول على خدمة تعيد الكائن العام؟ هذا من شأنه أن يتيح السخرية للاختبار وتجنب التبعيات العالمية.

ال 8 كومينتر

مرحبا سيفيكارو ،

يرجى الرجوع إلى التعليق المذكور أدناه للوصول إلى كائن google.maps.

https://github.com/SebastianM/angular2-google-maps/issues/139#issuecomment -187343516

@ بارمود أرورا ،

شكرا. لقد تمكنت من الحصول على كائن الخريطة ، لكنني كنت أشير إلى واجهة برمجة تطبيقات SDK بالكامل. لا يوجد دليل التوجيهات والخدمات الاتجاهات على كائن الخريطة نفسه ، ولكن في مساحة الاسم خرائط google.maps.

ومع ذلك ، عند إعادة التفكير في ذلك ، أتخيل أن الوصول المباشر إلى مساحة اسم خرائط google الكاملة لن يكون متاحًا حسب التصميم ، ولكن بدلاً من ذلك ستتوفر أغلفة حول كل منها لاحقًا.

cviccaro ،

صححني إذا كنت مخطئًا ، فأنت تريد الوصول إلى خرائط google وتريد اللعب باستخدام خدمات التوجيهات وخدمات التوجيه.

يوجد أدناه الرمز.

declare var google: any;

@Directive({
  selector: 'my-comp',  // <home></home>
})
export class MyComp {
  constructor(private _mapsWrapper:GoogleMapsAPIWrapper){
    _mapsWrapper.getMap().then((m: mapTypes.GoogleMap) => {
      console.log(google.maps);
    });
  }
}

@ parmod-arora بالضبط. كما كتبت في تعديلي على المنشور الأصلي ، أرى أن كائن google العالمي متاح بالفعل ، لذا فإن سؤالي قد انحرف قليلاً على ما أعتقد. هل سيؤدي هذا المشروع في النهاية إلى إزالة كائن google من مساحة الاسم العامة ، مما يوفر وحدة نمطية للاستيراد لتهيئة DirectRenderer أو DirectService؟

هل سيؤدي هذا المشروع في النهاية إلى إزالة كائن google من مساحة الاسم العالمية

لا ، هذا ليس هدفا للمشروع. يجب أن توفر طبقة تجريد سهلة الاستخدام لخرائط angular2 / google. يمكننا التفكير في كيفية استخدامنا لخدمات معينة من واجهة برمجة تطبيقات خرائط Google مثل DirectRenderer أو DirectService. لقد تركت هذا مفتوحًا لمناقشة كيف يمكن أن تبدو واجهة برمجة تطبيقات جيدة لـ Angular 2

إذا كنت أفهم كل شيء هنا بشكل صحيح ، ألن تكون الطريقة الأكثر زاوية للتعامل مع هذا هي الحصول على خدمة تعيد الكائن العام؟ هذا من شأنه أن يتيح السخرية للاختبار وتجنب التبعيات العالمية.

مرحبًا cviccaro ، لقد ذكرت أنك حصلت على كائن google.maps يعمل ، هل يمكنك أن تريني كيف فعلت ذلك؟ هل كان ذلك عبر GoogleMapsAPIWrapper؟

تم وضع علامة على هذه المشكلة تلقائيًا على أنها قديمة نظرًا لعدم وجود نشاط حديث لها. سيتم إغلاقه إذا لم يحدث أي نشاط آخر. شكرا لمساهماتكم.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

n1t3w0lf picture n1t3w0lf  ·  3تعليقات

supran2811 picture supran2811  ·  4تعليقات

stot3 picture stot3  ·  3تعليقات

PeterSisovsky picture PeterSisovsky  ·  3تعليقات

alexweber picture alexweber  ·  4تعليقات