在 Google 地图中设置评分的解决方法

Workaround for set rating in Google Maps

我正在尝试在标记内容 window 内设置评级栏的评级,但每当我尝试从包含该片段的 class 设置评级时,评级不会'不改变。我试过膨胀一个视图(见下面的代码)但是那不起作用。还有另一种方法可以解决这个问题吗?一个可能的问题是 Parse 的实现,但我似乎无法

谢谢,

雅各布

这是我的 java:

query.whereContains("review", titleRev);
                query.findInBackground(new FindCallback<ParseObject>() {
                    public void done(List<ParseObject> scoreList, ParseException e) {
                        if (e == null) {

                            for (ParseObject parseObj : scoreList) {
                                int x = 0;

                                String ratingNum = parseObj.get("rating").toString();
                                float ratingNumF = Float.valueOf(ratingNum);
                                myList.add(x, ratingNumF);

                                x++;
                            }

                            float sum = 0;
                            for (int i = 0; i < myList.size(); i++) {
                                sum += myList.get(i);
                            }


                            if (sum > 0) {
                                final LayoutInflater factory = getLayoutInflater();

                                final View textEntryView = factory.inflate(R.layout.windowlayout, null);

                                RatingBar ra = (RatingBar) textEntryView.findViewById(R.id.windowRatingBar);
                                ra.setRating(1f);




                            } else {

                                Toast.makeText(FindOpp.this, "Sorry, this organization has no reviews", Toast.LENGTH_LONG).show();


                            }

我可以在后台线程中看到 运行 的解析查询,但看不到将结果推回 UI 线程的回调。

正确的实现方式是正确设置要扩充自定义布局的数据。为此,我建议将默认值替换为 window,用您的自定义渲染覆盖 getInfoWindow(Marker),并将评级数据放在该 customInfoWindow 中。如果您可以共享该部分代码或对现有代码进行更改,将会更有帮助。但前者是实现此功能的更好选择。

所以我最终解决了这个问题,方法是获取对 Google 地图上所有标记的引用,然后将评级添加到与 marker.getTitle() 相关的字符串集中,我在 getInfoWindow.

中对结果进行平均