当前位置: 首页 > 知识库问答 >
问题:

如何修复未捕获的InvalidValueError:setPo的:不是一个拉丁语或拉丁语:在属性lat:不是一个数字?

景元徽
2023-03-14

我正在尝试将我的googlemaps v2函数移植到v3。

但不知怎的,我陷入了一个奇怪的错误,我找不到我做错了什么。

错误:未捕获的InvalidValueError: setPoint: not a latLng or latLngLitald: in属性lat: not a数字{main, adSense,几何,僵尸}. js: 25

这里是我的地图初始化:

var map = new google.maps.Map(document.getElementById("map"),{
  zoom:4
  size:new google.maps.Size(580,440),
  mapTypeControl: true,
  mapTypeControlOptions: {
    style:google.maps.MapTypeControlStyle.VERTICAL_BAR,
    position: google.maps.ControlPosition.BOTTOM_CENTER,
  },
  panControl: true,
  panControlOptions: {
    position: google.maps.ControlPosition.TOP_LEFT,
  },
  zoomControl: true,
  zoomControlOptions: {
    style: google.maps.ZoomControlStyle.LARGE,
    position: google.maps.ControlPosition.LEFT_CENTER,
  },
  scaleConrol: true,
  scaleControlOptions:{
    position: google.maps.ControlPosition.TOP_LEFT ,
  },
});
map.setCenter(new google.maps.LatLng(49.477643, 9.316406));

这是我错误的部分:

function drawTraders(map, options) {
var traders_uri = options.traders_uri || '';
if ('' == traders_uri) {
    return false;
}

// get the informations
$.getJSON(traders_uri, function(data) {
    // look through the information
$.each(data.traders, function(i, trader) {
var icon = options.icon_image_uri;

var markerIcon = new google.maps.MarkerImage(icon,
    // This marker is 20 pixels wide by 32 pixels tall.
    new google.maps.Size(25, 25),
    // The origin for this image is 0,0.
    new google.maps.Point(0,0),
    // The anchor for this image is the base of the flagpole at 0,32.
    new google.maps.Point(0, 32)
);

var html = 'test';

/*Information from chromium debugger
trader: Object
    geo: Object
        lat: "49.014821"
        lon: "10.985072"

*/
var myLatlng = new google.maps.LatLng(trader.geo.lat,trader.geo.lon);

/*here is the error in new google.maps.Marker()*/
var marker = new google.maps.Marker({
    position:   myLatlng,
    map: map,
    icon : markerIcon,
});

var infowindow = new google.maps.InfoWindow({
    content: html
});
}

编辑:drawTraders的召唤

 drawTraders(map, {
        traders_uri: "getTraders.php",
        icon_image_uri: "icon-cms.gif",
 });

我正在使用这个示例信息窗口

编辑:

不工作的小提琴

奏效的小提琴

共有3个答案

陈嘉荣
2023-03-14

你可以用这种方式

 map = new google.maps.Map(document.getElementById('map'), {
        zoom: 16,
        center: { lat: parseFloat(lat), lng: parseFloat(lng) },
        mapTypeId: 'terrain', 
        disableDefaultUI: true
 });

EX:中心:{lat: parseFloat(lat), lng: parseFloat(lng)},

汪甫
2023-03-14

我遇到了完全相同的错误消息的相同问题。最后的错误是,我仍然称地图v2 javascript。我不得不更换:

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=####################" type="text/javascript"></script>

具有

<script src="http://maps.googleapis.com/maps/api/js?key=####################&sensor=false" type="text/javascript"></script>

在此之后,它工作正常。花了我一段时间;-)

马煌
2023-03-14

未捕获的InvalidValueError:setPo的:不是一个latLng或latLngLit的:在属性lat:不是一个数字

意味着你没有在google.map中传递数字。LatLng构造函数。根据您的意见:

/*Information from chromium debugger
trader: Object
    geo: Object
        lat: "49.014821"
        lon: "10.985072"

*/

trader.geo.lat和trader.geo.lon是字符串,而不是数字。使用parseFloat将它们转换为数字:

var myLatlng = new google.maps.LatLng(parseFloat(trader.geo.lat),parseFloat(trader.geo.lon));
 类似资料:
  • 问题内容: 我有带重音拉丁字符的unicode字符串,例如 我想将其转换为普通的ascii,即“ Wikipedia,le projet dencyclopedie”,因此所有急性/重音,塞迪利亚等都应删除 什么是最快的方法,因为需要这样做才能匹配较长的自动完成下拉列表 结论: 作为速度的标准,Lennart的“注册您自己的错误处理程序以进行Unicode编码/解码”可提供最佳效果(请参见Alex

  • 问题内容: 我正在尝试将西里尔字母的单词写成拉丁语,以便可以在url中使用它们。我使用的是icu4j音译器,但它仍然会给出如下奇怪的字符: Vilaândimaa 。它应该更像 viljandimaa 。当我复制该网址时,这些字母会变成%..没用的东西。 有人知道如何使用icu4j将西里尔字母转化为az吗? 更新 已经无法回答自己,但是发现这个问题非常有用:将符号,重音字母转换为英文字母 问题答案

  • 谷歌Web字体上的一些字体支持多个“字符集”。问题是,如果我使用的web字体只提供“拉丁”字形,用户将页面翻译成不支持字形的语言时,会清楚地注意到混乱的文本。 我希望我的网页字体支持最流行的语言在世界上除了英语,例如,西班牙语,德语,法语等。 出于这个目的,我想知道,“拉丁”和“拉丁扩展”到底是针对哪种语言的。 我想答案应该是这样的:

  • 问题内容: 有没有办法确定字符串是英语还是阿拉伯语? 问题答案: 这是我刚刚尝试过的简单逻辑: 当且仅当在文本中找到阿拉伯语unicode代码点时,它才将文本声明为阿拉伯语。您可以增强此逻辑,使其更适合您的需求。 范围0600-06E0是阿拉伯字符和符号的代码点范围(请参见Unicode表)

  • 我对使用Pig进行工作还比较陌生。我有一个巨大的表(3.67百万个条目),其中有字段--id、feat1:value、feat2:value...featn:value。其中,id是文本,feat_i是特性名称,而value是给定id的特性i的thevalue。由于元组是稀疏表示,因此每个元组的特征数目可能不同。 ID1 F1:23 F3:45 F7:67 ID2 F2:12 F3:23 F5:2

  • 问题内容: 我正在寻找仅匹配数字[0-9],字母[az],但不包含ASCII 葡萄牙语 字母(unicode拉丁字母,如和)的ColdFusion或Java regex(用于替换功能)。 像这样: 我知道我可以用来匹配字母和数字,但这不匹配诸如和的字母。 问题答案: 尝试字母数字字符类:,它应该匹配字母,数字和下划线。 您也可以使用特殊的命名类(我不知道,Java RegEx解析器是否支持它)。因