solucion que error encontrado componente http-status-code-404 ionic-framework leaflet ionic angular-leaflet-directive

http status code 404 - que - Iónico/Folleto: no se puede obtener el mosaico 404 no encontrado(del caché)



error 404 solucion (1)

Después de muchas pruebas, finalmente instalé el plugin de cordova whitelist y con él, todo volvió a la normalidad.

Realmente todavía no sé por qué hay este cambio con respecto a la lista blanca recientemente. Te mantendré informado si tengo otra información sobre ese cambio e impacto

Estoy bloqueado con un problema que es muy extraño. Estoy usando un folleto con angular-folleto-directiva . En la aplicación anterior, todo funcionó.

Ahora en una aplicación nueva, me gustaría implementar un nuevo mapa de folleto. Por lo tanto, he copiado mi código anterior.

Mi problema es que, se abre el mapa del folleto, se crean mis marcadores, pero

TILES no están cargados

(Tengo derechos de internet y de internet para mi aplicación) Todos los mosaicos que intentan cargarse fallaron y reciben el siguiente problema:

GET http://a.tile.openstreetmap.org/18/98891/132985.png 404 (Not Found)

Como puede ver, si tiene acceso directo al mosaico, puede verlo en el navegador.

Encabezado de cada solicitud Tile GET

GENERAL Request URL:http://a.tile.openstreetmap.org/18/98892/132984.png Request Method:GET **Status Code:404 Not Found (from cache)** RESPONSE HEADERS Client-Via:shouldInterceptRequest REQUEST HEADERS Provisional headers are shown Accept:image/webp,*/*;q=0.8 User-Agent:Mozilla/5.0 (Linux; Android 5.0.1; GT-I9505 Build/LRX22C; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/42.0.2311.137 Mobile Safari/537.36

Mi sensación es que está intentando cargarlo desde la memoria caché en lugar de cargarlo directamente desde el proveedor abierto. Todavía no puedo obtener lo que es diferente entre mis 2 proyectos.

Mi otra aplicación de trabajo tiene el siguiente encabezado para cada mosaico:

GENERAL Remote Address:192.163.219.40:80 Request URL:http://c.tile.openstreetmap.org/18/98818/132892.png Request Method:GET Status Code:200 OK Response Headers view source Access-Control-Allow-Origin:* Cache-Control:max-age=604800 Content-Length:3584 Content-Type:image/png Date:Fri, 08 May 2015 13:57:36 GMT ETag:"51fb8a7a0f719b211641dca08bf1d76b" Expires:Fri, 15 May 2015 13:57:36 GMT Server:Apache/2.4.7 (Ubuntu) Via:1.1 nadder-02.openstreetmap.org:3128 (squid/2.7.STABLE9) X-Cache:MISS from nadder-02.openstreetmap.org X-Cache-Lookup:MISS from nadder-02.openstreetmap.org:3128 Request Headers view source Accept:image/webp,*/*;q=0.8 Accept-Encoding:gzip, deflate Accept-Language:fr-FR,en-US;q=0.8 Connection:keep-alive Host:c.tile.openstreetmap.org User-Agent:Mozilla/5.0 (Linux; Android 5.0.1; GT-I9505 Build/LRX22C; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/42.0.2311.137 Mobile Safari/537.36 X-DevTools-Emulate-Network-Conditions-Client-Id:01BAB1E4-1122-4CEF-AC90-BDE2C1113EF4 X-Requested-With:com.myapp.myapp

Configuración AngularJS

La memoria caché está desactivada.

$httpProvider.defaults.cache = false;

También probé el siguiente aditivo ya que HTTP TILE LOADING es get (no exitoso)

//initialize get if not there if (!$httpProvider.defaults.headers.get) { $httpProvider.defaults.headers.get = {}; } //disable IE ajax request caching $httpProvider.defaults.headers.get[''If-Modified-Since''] = ''Mon, 26 Jul 1997 05:00:00 GMT''; // extra $httpProvider.defaults.headers.get[''Cache-Control''] = ''no-cache''; $httpProvider.defaults.headers.get.Pragma = ''no-cache'';

HTML Creación de directiva de folleto

<div data-tap-disabled="true" style="height: 90%; {{iosPlatform ? ''top:10%; position:relative'' : ''''}}"> <leaflet id="map" defaults="defaults" center="center" bounds="bounds" event-broadcast="events" markers="markers" height="100%" width="100%" class="animation" layers="layers"></leaflet> </div>

Código AngularJS

angular.extend($scope, { center: { lat: -2.6273, lng: -44.1932, zoom: 18 }, markers: {}, defaults: { scrollWheelZoom: true }, bounds: { southWest: { lat: -2.628074696286876, lng: -44.19960723876953125, }, northEast: { lat: -2.629410211532874, lng: -44.19617401123046874, } }, events: { map: { enable: [''popupopen''], logic: ''emit'' } }, tiles: { url: ''https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'', options: { attribution: '''' } }, layers: { "baselayers": { "osm": { "name": "Cidade", "url": "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", "type": "xyz", "layerParams": {}, "layerOptions": {} } }, overlays: { } }, controls: {} });

Cuando abro mi mapa, llamo a la siguiente función:

$scope.getMyMap = function() { var d = $q.defer(); leafletData.getMap(''map'').then(function(map) { $scope.map = map; map.invalidateSize(); d.resolve(map); }, function(err) { d.reject(err); }); return d.promise; };