Wie der Zugriff auf google maps api in China
Ich bin mit google maps api, um Benutzer-Standort in meinem IBM Mobilefirst-Projekt, und es ist in Ordnung, wie erwartet, in allen Ländern mit Ausnahme von china.Ich weiß, das ist, weil china blockiert Zugang zu google apis in Ihre Land.Gibt es irgendein workaround, den ich machen kann, damit die Anwendung funktioniert auch in china. Ich habe das code-snippet unten für Referenz.
Dies ist das Skript habe ich im Kopf
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBaKx9iQrPQuOmAc2DkMRgjFdT0_XTdbmE&sensor=false&v=3&libraries=geometry"></script>
javascript-code
function getLocation() {
busy = new WL.BusyIndicator ();
busy.show();
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition, showError,options);
} else {
alert( "Geolocation is not supported");}
}
function showPosition(pos) {
var geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(pos.coords.latitude,pos.coords.longitude);
latitude=pos.coords.latitude;
longitude=pos.coords.longitude;
geocoder.geocode({ 'latLng': latlng }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var addresscomponent=results[0].address_components;
var addresslength=addresscomponent.length;
for(var i=0;i<addresslength;i++){
if(addresscomponent[i].types[0]=='country'){
countryname=addresscomponent[i].short_name;
}
else if(addresscomponent[i].types[0]=='locality'){
cityname=addresscomponent[i].short_name;
}
}
}
function showError(error) {
alert(error);
busy.hide();
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Google Maps APIs serviert werden in China von der domain maps.google.cn. Diese Domäne nicht unterstützt https. Wenn Anforderungen an die Google Maps-APIs aus China, ersetzen Sie bitte https://maps.googleapis.com mit http://maps.google.cn.
Beispiel:
werden würde:
Referenz :Google FAQ
Update
Für Land verwenden:
JS:
HTML:
$.getJSON("http://freegeoip.net/json/", function (data) { var country = data.country_name; alert(country);//check this and use that code. });
Wie über dieses?
JS:
Wie Sie sehen können...china ist das große Land... aber etwa lat-lon ist 37~47 , 110~123... http://www.latlong.net
Ist es nicht genau überprüfen, china oder nicht, aber...wenn Sie nicht in china...Sie können auf "http://maps.google.cn/"
Es ist also kein problem...
Ohne call-position-API oder andere externe Dienstleistungen: