2017-07-03 91 views
2
function initAutocomplete() { 
    var lat=document.getElementById('lat').value; 
    var lng=document.getElementById('lng').value; 
    console.log(lat); 
    console.log(lng); 


    var map = new google.maps.Map(document.getElementById('map'), { 
     center: {lat:lat, lng:lng}, 
     zoom: 13, 
     mapTypeId: 'roadmap' 
    });} 

它给了我下面的错误:错误:InvalidValueError:setCenter:不是经纬度或LatLngLiteral:物业纬度:不是一个数字

error:InvalidValueError: setCenter: not a LatLng or LatLngLiteral: in property lat: not a number

+1

'.value'返回一个字符串 - > ['parseFloat()'](https://开头developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat) – Andreas

+0

错误已解决,但可以帮助找到位置..实际上位置是如何在地图上,但如何显示标记那个位置? .http: – ravneet

+0

将其作为单独问题发布(其中应包括[最小,完整和可验证的示例](https://stackoverflow.com/help/mcve/)(但不要发布您的API密钥;)) – Andreas

回答

8

一个HTMLInputElement.value属性返回值作为串。

你必须把它传递给地图API之前解析的lat的内容和lngparseFloat()

function initAutocomplete() { 
    var lat = parseFloat(document.getElementById('lat').value); 
    var lng = parseFloat(document.getElementById('lng').value); 

    var map = new google.maps.Map(document.getElementById('map'), { 
     center: { 
      lat: lat, 
      lng: lng 
     }, 
     zoom: 13, 
     mapTypeId: 'roadmap' 
    }); 
} 
+0

Thanx兄弟的帮助...它解决了:)) – ravneet