سؤال

رؤى باجيسبيد يظهر لي أنني لإزالة جعل حجب لبلدي خرائط جوجل جس.يتم إضافته في محتوى كمس وهذا هو رمز:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=myipcode">// <![CDATA[

// ]]></script>
<script type="text/javascript">// <![CDATA[
function initialize() {
  var myLatlng = new google.maps.LatLng(mycoord1, mycoord2);
  var mapOptions = {
    zoom: 17,
    center: myLatlng
  }
  var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

  var marker = new google.maps.Marker({
      position: myLatlng,
      map: map,
      title: 'My Title'
  });
}

جوجل.خرائط.حدث.أددومليستينر (نافذة ، 'تحميل' ، تهيئة);// ]]>

 

إذا أضفت async="async" إلى لم يتم تحميل الخرائط ولكن الرسالة من سرعة الصفحة تختفي.ماذا علي أن أفعل ?

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

المحلول

جرب ما يلي

<div id="map"></div>

<script type="text/javascript">
function initializeMap() {
  var myLatlng = new google.maps.LatLng(mycoord1, mycoord2);
  var mapOptions = {
    zoom: 17,
    center: myLatlng
  }
  var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

  var marker = new google.maps.Marker({
      position: myLatlng,
      map: map,
      title: 'My Title'
  });
}
</script>

<script src="https://maps.googleapis.com/maps/api/js?key=myipcode&callback=initializeMap"
        async defer></script>

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

أنصح ضد initialize كاسم طريقة كما هو عام جدا ويمكن استخدامها في أي مكان آخر

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