أهلا،
أنا باستخدام رد فعل الأم.
هذا هو ملف map.html الخاص بي:
<html>
<head>
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" />
<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
</head>
<body>
<div id="map" style="height: 100%;">
</div>
<script>
var osmUrl = 'https://{s}.tile.osm.org/{z}/{x}/{y}.png',
osmAttrib = '© <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors',
osm = L.tileLayer(osmUrl, {
maxZoom: 18,
attribution: osmAttrib
});
var map = L.map('map').setView([19.04469, 72.9258], 12);
map.addLayer(osm);
</script>
</body>
</html>
وأنا أقوم بتحميل map.html في عرض الويب:
import React, { Component } from 'react';
import {
WebView
} from 'react-native';
export default class MapScreen extends Component {
render() {
return (
<WebView style={{flex:1}} javaScriptEnabled={true} source={require('./map.html')}/>
);
}
}
لكن البلاط لا يتم تحميله في ios simulator ، ولكنه جيد في محاكي android.
هذا ما أراه في محاكي iOS:
مرحبًا ، تتضمن هذه المشكلة React و WebView ومحاكي iOS. لا يعمل فريق Leaflet مع هذه الأدوات أو يدعمها ، لذلك أخشى أنه لا يمكننا مساعدتك في هذه الأداة.
بالنظر إلى المثال البسيط للغاية ، من الواضح أن المشكلة لا تكمن في Leaflet نفسه ، بل في كيفية تفاعلها مع أحد المكونات الأخرى.
نحن منفتحون لإجراء تغييرات على Leaflet لجعله يعمل بشكل أفضل مع الأدوات الأخرى ، ولكن للأسف لا نملك الموارد اللازمة لحل المشكلات في أطر عمل أو أدوات أخرى.
إذا كان بإمكانك تقديم مثال فاشل باستخدام Leaflet و JavaScript و HTML / CSS فقط ، فنحن بالطبع منفتحون جدًا للعمل مع هذا.
شكرا لك على الرد.
كنت بسبب طلبات http ، وعندما قمت بتعطيل ATS (App Transport Security) ، فإنه يعمل بشكل جيد ويتم تحميل المربعات. ولكن كما تعلم ، فإن تعطيل ATS ليس هو الحل.
وفقًا لإجابة @ F1LT3R في إصدار Streaming Leaflet Tiles عبر HTTPS / SSL # 3186 ، يمكننا استخدام https لتحميل البلاط وتغيير osm لفتح خريطة الشارع في عنوان url للبلاط ( http://{s}.tile.osm.org/{z}/{x}/{y}.png
-> https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
).
arminghm ، شكرًا جزيلاً ، إنه يعمل معي :)
التعليق الأكثر فائدة
شكرا لك على الرد.
كنت بسبب طلبات http ، وعندما قمت بتعطيل ATS (App Transport Security) ، فإنه يعمل بشكل جيد ويتم تحميل المربعات. ولكن كما تعلم ، فإن تعطيل ATS ليس هو الحل.
وفقًا لإجابة @ F1LT3R في إصدار Streaming Leaflet Tiles عبر HTTPS / SSL # 3186 ، يمكننا استخدام https لتحميل البلاط وتغيير osm لفتح خريطة الشارع في عنوان url للبلاط (
http://{s}.tile.osm.org/{z}/{x}/{y}.png
->https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
).