我的纬度/ lognitude变量不是字符串,我需要将它们放入JavaScript变量中。我目前正尝试做一些不起作用的事情:
lat = <?= $objkey->lat ?>;
lng = <?= $objkey->lng ?>;
但是当我使用lat / lng变量时,将它包装在字符串中会破坏map函数。
正确的方法是什么?
以下是发生这种情况的网址:http://www.comehike.com/outdoors/parks/trailhead.php
答案 0 :(得分:2)
我通常会使用json_encode: 如果它是Serializable:
json_encode($yourobject);
否则:
var coordinates = <?php echo json_encode($array('lat' => $object->lat, 'lng'=> $object->lng); ?>
console.log(coordinates);
console.log(coordinates.lat);
编辑:这个答案可能仍然是健全的建议,但这里似乎有回显对象的错误。对象有效吗?
答案 1 :(得分:1)
它没有从PHP输出任何内容。
在您的代码中:
lat = ;
导致Uncaught SyntaxError: Unexpected token ;
答案 2 :(得分:1)
您没有输出任何内容:
确保您确实有输出,这可能是问题。
答案 3 :(得分:0)
问题可能是由几件事引起的,首先我要检查的是确保PHP短标签真正启用,或者只是不使用它们,接下来要确保变量实际上有值。请尝试以下方法:
lat = <?php echo isset($objkey->lat) ? $objkey->lat : 0; ?>;
lng = <?php echo isset($objkey->lng) ? $objkey->lng : 0; ?>;