Oi,
Estou usando o reagente nativo.
Este é meu arquivo 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>
e estou carregando map.html no webview:
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')}/>
);
}
}
Mas o bloco não está carregando no simulador ios, mas está bem no emulador de Android.
Isso é o que vejo no simulador ios:
Olá, este problema envolve React, WebView e o simulador iOS. A equipe do Leaflet não trabalha ou oferece suporte a essas ferramentas, portanto, não podemos ajudá-lo com esta.
Dado o exemplo muito simples, é bastante aparente que o problema não está no próprio folheto, mas sim em como ele interage com um dos outros componentes.
Estamos abertos para fazer alterações no Leaflet para fazê-lo funcionar melhor com outras ferramentas, mas infelizmente não temos os recursos para resolver problemas em outras estruturas ou ferramentas.
Se você puder fornecer um exemplo de falha usando apenas Leaflet, JavaScript e HTML / CSS, é claro que estamos muito abertos para trabalhar com isso.
Obrigado por responder.
Fiquei por causa de solicitações de http, e quando desativei o ATS (App Transport Security) ele funciona bem e os tiles são carregados. Mas como você sabe desabilitar o ATS não é a solução.
De acordo com a resposta @ F1LT3R no problema Streaming Leaflet Tiles over HTTPS / SSL # 3186 , podemos usar https para carregar blocos e alterar o osm para openstreetmap no url do bloco ( http://{s}.tile.osm.org/{z}/{x}/{y}.png
-> https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
)
@arminghm , muito obrigado, funciona para mim :)
Comentários muito úteis
Obrigado por responder.
Fiquei por causa de solicitações de http, e quando desativei o ATS (App Transport Security) ele funciona bem e os tiles são carregados. Mas como você sabe desabilitar o ATS não é a solução.
De acordo com a resposta @ F1LT3R no problema Streaming Leaflet Tiles over HTTPS / SSL # 3186 , podemos usar https para carregar blocos e alterar o osm para openstreetmap no url do bloco (
http://{s}.tile.osm.org/{z}/{x}/{y}.png
->https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
)