我正在尝试将我的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",
});
我正在使用这个示例信息窗口
编辑:
不工作的小提琴
奏效的小提琴
你可以用这种方式
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)},
我遇到了完全相同的错误消息的相同问题。最后的错误是,我仍然称地图v2 javascript。我不得不更换:
<script src="http://maps.google.com/maps?file=api&v=2&key=####################" type="text/javascript"></script>
具有
<script src="http://maps.googleapis.com/maps/api/js?key=####################&sensor=false" type="text/javascript"></script>
在此之后,它工作正常。花了我一段时间;-)
未捕获的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解析器是否支持它)。因